博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
栈实现判断回文
阅读量:5273 次
发布时间:2019-06-14

本文共 1958 字,大约阅读时间需要 6 分钟。

1 #include
2 #include
3 using namespace std; 4 5 //顺序栈定义 6 #define OK 1 7 #define ERROR 0 8 #define OVERFLOW -2 9 #define MAXSIZE 10010 typedef int Status;11 typedef char SElemType;12 typedef struct13 {14 SElemType *base;15 SElemType *top;16 int stacksize;17 } SqStack;18 19 //算法:顺序栈的初始化20 Status InitStack(SqStack &S)21 {22 // 构造一个空的顺序栈 S23 S.base = new SElemType[MAXSIZE]; //将base指向新申请的栈数组中24 if(!S.base) exit(OVERFLOW); //申请失败,则异常退出25 S.top = S.base; //将栈底指针赋给栈顶指针,表示空栈26 S.stacksize = MAXSIZE; //栈能容纳的最大容量27 return OK; //申请成功28 }29 //算法:顺序栈的入栈30 Status Push(SqStack &S, SElemType &e)31 {32 if(S.top-S.base==S.stacksize) //如果栈满33 return ERROR;34 // 插入元素e为新的栈顶元素35 *S.top++ = e; //先将元素压栈,栈顶指针指向下一个地址36 return OK; //入栈成功37 }38 //算法:顺序栈的出栈39 Status Pop(SqStack &S, SElemType &e)40 {41 // 若栈不空,则删除S的栈顶元素,用e返回其值,并返回OK;否则返回ERROR42 if (S.base==S.top) //表示空栈43 return ERROR; //返回错误44 e = *--S.top; //先将栈顶指针减1,再取栈顶元素45 return OK; //出栈成功46 }47 //算法:判断是否为回文48 int HuiWen(SElemType *ch, int length) //ch接收回文字符串数组的基地址,length接收回文字符串长度49 {50 SqStack S;51 SElemType x;52 int i,j, m = length/2;53 InitStack(S); //初始化栈S54 for(i=0;i
> length; //length存放回文字符串长度71 cout << "请输入" << length << "个字符:";72 SElemType *ch = new SElemType[2 * MAXSIZE]; //ch存放回文字符串数组的基地址73 for (i = 0; i < length; i++)74 cin >> ch[i]; //给数组ch 输入用以判断的字符串75 cout << "您要判断的字符串是:";76 for (i = 0; i < length; i++)77 cout << ch[i]; //显示数组ch 中的字符串78 if (HuiWen(ch, length))79 cout << ",此字符串是回文!\n\n" ; //HuiWen()是判断回文的函数,是回文返回1 ,不是回文返回080 else81 cout << ",此字符串不是回文!\n\n" ;82 cout << "继续判断,输入1,否则输入0:";83 cin >> flag;84 }85 return 0;86 }

 

转载于:https://www.cnblogs.com/acgoto/p/8781297.html

你可能感兴趣的文章
OMG: daily scrum nine
查看>>
redis与spring结合错误情况
查看>>
Vue.js的从入门到放弃进击录(二)
查看>>
第六章 字节码执行方式--解释执行和JIT
查看>>
Mesh属性[Unity]
查看>>
ajax与java后台交互
查看>>
面向对象之元类
查看>>
MySQL常用函数
查看>>
实现绘制图形的ToolBar
查看>>
C# 串口接收数据中serialPort.close()死锁
查看>>
Python3控制结构与函数
查看>>
字符串方法title()、istitle()
查看>>
yield语句
查看>>
java序列化问题
查看>>
Html.Partial和Html. RenderPartial用法
查看>>
查看linux系统中占用cpu最高的语句
查看>>
[洛谷P1738]洛谷的文件夹
查看>>
Ubuntu server 16.04的安装 以及配置(服务器版)
查看>>
Jtest 对象库的使用(Object Repository)
查看>>
phpstudy的mysql版本升级至5.7
查看>>