栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

回文序列的判断

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

回文序列的判断

内容:

回文是只正读和返读都相同的字符序列,如“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 

运行结果:

 

 

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/649465.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号