首页 > 其他分享 >7-1 栈实现回文

7-1 栈实现回文

时间:2022-10-24 23:55:06浏览次数:46  
标签:SqStack 实现 top char int base 回文

输入一个字符串,判断该字符串是否为回文。回文就是字符串中心对称,从左向右读和从右向左读的内容是一样的。(不含空格)

#include<bits/stdc++.h>
using namespace std;
#define MAX  100
typedef struct {
    char *base;
    char *top;
    int stacksize;
}SqStack;

void InitStack(SqStack &s)
{
    s.base = new char[MAX];
    if( !s.base ) exit(0);
    s.top = s.base;
    s.stacksize = MAX;
}
void Push(SqStack &s , char e)
{
    if(s.top - s.base == s.stacksize) return ;
    if(e == ' ')
    {
         printf("入栈不成功");
         exit(0);
    }
    *s.top++ = e;

}
char Pop(SqStack &s , char &e)
{
    if(s.top == s.base) return 0;
    return e = *--s.top;
}
int main()
{
    char data[MAX];

    int n;
    cin>>n;
    getchar();
    for(int i = 0 ; i < n; i++)
    {
        data[i] = getchar();
    }

    SqStack s;
    InitStack(s);

    for(int i = 0 ; i < n; i++)
    {
        Push(s , data[i]);
    }
    for(int i = 0 ; i < n; i++)
    {
        char e;
        if(data[i] != Pop(s , e) )
        {
            printf("此字符串不是回文串");
            return 0;
        }
    }
    printf("此字符串是回文串");
}

 

标签:SqStack,实现,top,char,int,base,回文
From: https://www.cnblogs.com/fan-wang/p/16823510.html

相关文章

  • 【附近的人】实现方案
    【附近的人】实现方案方案一:Redis Commands: Geography Edition自Redis 3.2开始,Redis基于geohash和有序集合提供了地理位置相关功能。Redis Geo模块包含了以下6个命......
  • HotSpot的算法实现
    枚举根节点由于目前的主流Java虚拟机使用的都是准确式GC,当执行系统停顿下来后,并不需要一个不漏地检查完所有执行上下文和全局的引用位置,虚拟机应当是有办法直接得知哪些地......
  • Python实现常量
    目录Python实现常量一、概述二、实现1、单例模式1.1元类1.2装饰器1.3魔法方法2、常量类三、打包Python实现常量一、概述很多高级编程语言都提供了定义常量的方......
  • JWT鉴权如何实现
    如何实现jwt鉴权机制?JWT(JSONWebToken),本质就是一个字符串书写规范,作用是用来在用户和服务器之间传递安全可靠的信息为什么需要token在后台管理系统中,我们通常使用cook......
  • react是如何实现事件代理的
    _版本:v18.2.0本文为我花了大半年的时间潜心研究所写,转载请注明出处,谢谢react是如何实现事件代理的createRoot函数**用户在index.tsx中执行ReactDOM.createRoot创建roo......
  • 利用一个字符数组作函数参数,实现字符串(最大长度为80个字符 )的逆序存放。
    利用一个字符数组作函数参数,实现字符串(最大长度为80个字符)的逆序存放。要求如下:(1)在子函数Inverse中实现字符串的逆序存放。函数原型为:voidInverse(charstr[]);(2......
  • 利用inotify和rsync服务实现数据实时同步
    文件定时同步的实现:利用rsync结合cron计划任务实现:rsync-av--delete/data/10.0.0.12:/back-a:保留文件属性-v:显示过程-delete:如果源文件没有的,目标文件里面有,就......
  • 【基于hutool工具类封装雪花算法实现的工具类】
    importcn.hutool.core.lang.Snowflake;importcn.hutool.core.util.IdUtil;/***基于hutool工具类封装雪花算法实现的工具类*@author*@date2022年5月20日16:56:21*......
  • 基于ssm工商学院办公用品管理信息系统设计与实现-计算机毕业设计源码+LW文档
    摘 要本高校科研管理系统设计目标是实现高校科研管理的信息化管理,提高管理效率,使得高校科研管理工作规范化、科学化、高效化。本文研究的高校科研管理系统基于SSM架构,采......
  • springboot整合elasticsearch实现MySQL模糊查询
    es关联mysql实现模糊查询的数据流:   1、使用logstash同步mysql数据到eslogstash简介及基本操作:https://blog.csdn.net/yurun_house/article/details/109025588win......