首页 > 其他分享 >九月二十五日

九月二十五日

时间:2023-09-25 22:22:54浏览次数:38  
标签:char SqStack int top 二十五日 void data 九月

用栈实现回文字符串

#include<iostream>
#include<string>
using namespace std;

typedef struct
{
    char data[101];
    int top;
}SqStack;

void InitStack(SqStack &S)
{
    S.top=-1;
}

void Push(SqStack &S,char e)
{
    S.data[++S.top]=e;
}

void Pop(SqStack &S,char &e)
{
    e=S.data[S.top--];
}


int main()
{
    int n;
    cin>>n;
    cin.ignore();
    char a[101];

    for(int i=0;i<n;i++)
    {
        a[i]=cin.get();
    }

    char c[101];
    char d[101];

    int t=0;
    for(int i=0,j=0;i<n;i++,j++)
    {
        if(a[i]!=' ')
        {
            c[j-t]=a[i];
        }
        
        if(a[i]==' ')
        {
            t++;
        }
    }

    if(t!=0)
    {
        cout<<"入栈不成功"<<endl;
        return 0;
    }

    for(int i=0;i<n-t;i++)
    {
        d[i]=c[i];
    }

    SqStack S;
    InitStack(S);
    for(int i=0;i<n-t;i++)
    {

        Push(S,c[i]);

    }
    
    char e;
    
    for(int i=0;i<n-t;i++)
    {
        Pop(S,e);
        c[i]=e;

    }


    int f=0;
    
    for(int i=0;i<n-t;i++)
    {
        if(c[i]!=d[i])
            f++;
    }

    if(f!=0)
    {
        cout<<"此字符串不是回文串";
    }

    if(f==0)
    {
        cout<<"此字符串是回文串";
    }


    return 0;
}

  

   

标签:char,SqStack,int,top,二十五日,void,data,九月
From: https://www.cnblogs.com/youxiandechilun/p/17728999.html

相关文章

  • 九月代码大全读后感Ⅰ
    第18章    在编程中,表驱动法是一种非常常用的设计模式,它鼓励我们通过使用表格和查询表来替代复杂的逻辑判断。这种方法在处理复杂逻辑时特别有效,因为它可以帮助我们降低代码的复杂度。表驱动法的主要优点在于它能以更简单、更直观的方式来处理复杂的问题。通过使用表......
  • 每日打卡 周五 九月二十二日
    今天又上英语课,快要四级考试了,得抓紧学习英语,下午完课后,看了一会儿英语单词,主要是翻译有问题,以前没有做过的题型也会一直是难,主要是想不词语的意思可以那样用。其实主要功课就是背单词,现在词汇积累的少,出现都不认识,在着就是听听力,真的是要很好的训练了。......
  • 九月二十三日
    动手动脑1随机生成1000个随机数publicclassMain{staticintx=1;publicstaticvoidf(intcount){for(inti=0;i<count;i++){x=(16807*x+1)%Integer.MAX_VALUE;System.out.println(x);}......
  • 九月二十二日
    将数据结构学了一下回文数用栈和双向链表的方式都实现了一下#include<iostream>usingnamespacestd;typedefstruct{chardata[101];inttop;}SqStack;voidInitStack(SqStack&S){S.top=-1;}voidPush(SqStack&S,chare){S.data[++S.top]=e......
  • 九月二十日
    下载VScode学习javaweb收拾一下心情,删除一些游戏 <!--文档类型为HTML--><!DOCTYPEhtml><htmllang="en"><head><!--设置字符集为UTF-8--><metacharset="UTF-8"><!--设置浏览器的兼容性--><metaname=&quo......
  • 每日打卡 周三 九月二十日
    今天就早上八点有一节课,完课后回到宿舍,最近有点感冒,大概10点到宿舍,躺在床上就睡过去了,起来就该吃午饭。下午本应该学习javaweb但是一直没有状态,只看了一会就感到头晕,躺在床上又睡过去了,起来天已经黑了,简单对付几口,吃过药就没有再出宿舍了。......
  • 九月十九日(舔狗代码)
    #include<iostream>#include<easyx.h>#include<ctime>#include<windows.h>#pragmacomment(lib,"winmm.lib")#include<mmsystem.h>usingnamespacestd;voiddrawImg_s(intx,inty,IMAGE*img);voidbackground();v......
  • 每日打卡 周一 九月十八日
    今天在java课上的练习题,有一个要求控制输入时间限制。 intcount=90;//倒计时90秒Timertimer=newTimer(); TimerTasktask=newTimerTask(){ publicvoidrun(){ if(count>0) { System.out.println("倒计时:"+count); count-=10; } ......
  • 九月十二日星期一
    今天在建明哥课上学习了编程思想,我自己领略到到就是解决任何问题都本质方法就是分解为自己看的懂得小问题,所以我认为概括力跟抽象物体的能力是一个优秀程序员必备的技能,同时这两个个能力投入到现实项目中是依赖于交流能力的,所以我认为要想成为一个优秀的程序工程师既要有出众的抽......
  • 九月十四号
    #include<iostream>usingnamespacestd;structNode{intdata;Node*next;};structList{Node*head;intlength;};intmain(){ListL;L.head=nullptr;L.length=0;intn;cin>>n;Node*current=nullptr;......