回文序列的判断

回文序列的判断,第1张

回文序列的判断

内容:

回文是只正读和返读都相同的字符序列,如“abba”和“abdba”均是回文,但“good”不是回文。试写一个算法判定给定的字符向量是否为回文。

步骤:

算法分析:

回文序列是正读和反读都相同的序列,就是比较一个序列和它的逆序列,而栈刚好具有先进后出,正序输入逆序输出的特点,因此我们可以利用栈来解决这个问题。

我们使用一个数组栈,把要进行判断的字符串进行取半入栈的 *** 作,对其再进行出栈,这样输出的前半段序列是逆序的,只需要将其与剩余的未入栈的字符串序列进行比较,如果一一对应,则是回文序列。

代码如下:

#include 
#include 
#include 
typedef struct Stack                                //定义数组栈
{
    int top;
    char str[100];
}STACK;
int main()
{
    int len,i,mid,next;
    char str[100];
    STACK s;
    s.top=0; 
    gets(str);                               //输入字符串 
    len=strlen(str);                           //求字符串的长度 
    mid=len/2;                              //取字符串中间位置 
    for(i=0;i 

运行结果:

 

 

 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5651657.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存