广告合作
  • 今日头条

    今日头条

  • 百度一下

    百度一下,你就知道

  • 新浪网

    新浪网 - 提供新闻线索,重大新闻爆料

  • 搜狐

    搜狐

  • 豆瓣

    豆瓣

  • 百度贴吧

    百度贴吧——全球领先的中文社区

  • 首页 尚未审核订阅工具 订阅

    读入的一个以@为结束符的字符序列是否为回文

    来源:网络收集  点击:  时间:2024-05-20
    【导读】:
    试写一个算法,判断依次读入的一个以@为结束符的字符序列,是否为回文。所谓“回文“是指正向读和反向读都一样的一字符串,如“321123”或“ableelba”工具/原料moreVC2010电脑方法/步骤1/6分步阅读

    头文件建立

    #include stdafx.h

    #includeiostream

    using namespace std;

    #define START 100;

    #define LATER 10;

    2/6

    结构体的建立

    typedef struct QNode

    {

    QElemType data;

    struct QNode * next;

    }QNode,*Queueptr;

    typedef struct

    {

    Queueptr front;

    Queueptr rear;

    }LinkQueue;

    typedef char SElemType;

    typedef char QElemType;

    typedef struct

    {

    SElemType *base;

    SElemType *top;

    int stacksize;

    }stack;

    3/6

    栈和对列的基本操作

    char push(stacks,SElemType e)

    {

    if (s.top -s.base =s.stacksize )

    {

    s.base =(SElemType*)realloc(s.base ,(s.stacksize +10)*sizeof(SElemType));

    if(!s.base)exit(OVERFLOW);

    s.top =s.base +s.stacksize ;

    s.stacksize +=10;

    }

    *s.top ++=e;

    return 1;

    }

    char pop(stacks,SElemTypee)

    {

    if(s.top ==s.base )return 0;

    e=*--s.top ;

    coute;

    return e;

    }

    char EnQueue(LinkQueueq,QElemType e)

    {

    p = (Queueptr)malloc(100*sizeof(QNode));

    if(!p)exit(OVERFLOW);

    p-data=e;

    p-next=p;

    q.rear -next =p;

    q.rear =p;

    return 1;

    }

    char DeQueue(LinkQueueq,QElemTypee)

    {

    if(q.front ==q.rear )return 5;

    p=q.front-next ;

    e=p-data;

    q.front -next =p-next;

    if(q.rear ==p)q.rear =q.front ;

    coute;

    free(p);

    return e;

    }

    4/6

    结果 测试

    5/6

    栈和对列的建立

    char InitQueue(LinkQueueq)

    {

    q.front =q.rear =(Queueptr)malloc(100*sizeof(QNode));

    if(!q.front )exit(OVERFLOW);

    q.front -next= NULL;

    return 1;

    }

    Queueptr p;

    char InitStack(stacks)

    {

    s.base =(SElemType*)malloc(100*sizeof(SElemType));

    if(!s.base )exit(OVERFLOW);

    s.top =s.base ;

    s.stacksize =100;

    return 1;

    }

    6/6

    主函数的调用

    int _tmain(int argc, _TCHAR* argv)

    {

    int x=0;

    QElemType f;

    LinkQueue q;

    SElemType a;

    stack s;

    InitStack(s);

    InitQueue(q);

    int b=0;

    char c;

    cout请?输º?入¨?串ä?;

    cinc;

    while (c != @)

    {

    push(s,c);

    EnQueue(q, c);

    b++;

    }

    for (int i=0;ib;i++)

    {

    char m=pop(s,a);

    char n=DeQueue(q,f);

    if(m!=n)

    {cout不?是º?回?文?endl; break;}

    }

    cout是º?回?文?endl;

    return 0;

    }

    本文关键词:

    版权声明:

    1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。

    2、本站仅提供信息发布平台,不承担相关法律责任。

    3、若侵犯您的版权或隐私,请联系本站管理员删除。

    4、文章链接:http://www.1haoku.cn/art_812657.html

    相关资讯

    ©2019-2020 http://www.1haoku.cn/ 国ICP备20009186号05-05 02:45:08  耗时:0.039
    0.0388s