@【数据结构】(栈 判断字符串回文)
2020-04-01 19:05
232 查看
@【数据结构】(栈 判断字符串回文)
用栈来实现一个表达式中的‘(’,‘[‘,’)’,’]’,’{‘,’}’是否匹配
#include<stdio.h> #include<stdlib.h> #include<iostream> #define MAXN 100 using namespace std; typedef char Elemtype; typedef struct { Elemtype data[MAXN]; int top; }Sqstack; void Init(Sqstack &st) { st.top = -1; } int push(Sqstack &st, Elemtype x) { if (st.top == MAXN - 1) return 0; else { st.top++; st.data[st.top] = x; return 1; } } int pop(Sqstack &st ,Elemtype &x) { if (st.top == -1) return 0; else { x = st.data[st.top]; st.top--; return 1; } } void Destroy(Sqstack st) { } int judge(char str[], int n) { int i; char c; Sqstack st; Init(st); for (i = 0; i < n; i++) push(st, str[i]); i = 0; while (st.top != -1) //栈不为空 { pop(st, c); if (c != str[i++]) { Destroy(st); cout << "字符串不回文" << endl; return 0; } } Destroy(st); cout << "字符串回文" << endl; return 1; } void main() { Sqstack st; Init(st); Elemtype str[10]; int n; cout << "请输入字符串长度:"; cin >> n; cout << "请输入字符串:" << endl; for (int i = 0; i < n; i++) cin >> str[i]; judge(str, n); system("pause"); }
测试示例:
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- 数据结构——算法之(005)(判断字符串是否是对称的即(回文字符串))
- 数据结构之回文字符串
- 我是北大青鸟的学员VB刚刚学到数据类型!遇到一个题目不会做:判断一个字符串是不是回文?希望大家帮我解决下
- 数组字符串系列之:判断一个输入字符串中的每个字符唯一,只能使用基本的数据结构
- 判断一个字符串(超过80个字符)是否是回文结构(正序和逆序相同)
- 数据结构——第三章算法设计题(2):判断是否为回文
- 数据结构——判断回文
- 数据结构之判断字符串镜像——栈
- OJ Problem F: 判断字符串是否为回文
- 递归入门:判断回文字符串
- 数据结构之字符串删除操作
- C语言OJ项目参考(2802)判断字符串是否为回文
- (编程训练)再回首,数据结构——字符串操作
- 判断输入的字符串是否是回文
- [C/C++笔面试]判断字符串是不是回文
- PJLIB库基础框架-数据结构之字符串的使用
- 第二周 任务七 判断S所指的字符串是否回文
- 第十五周OJ(7)判断字符串是否为回文
- 判断字符串是否是回文字符串或者是否含有回文字符子串 (我是从两颗番茄的博客看的题目,然后自己编的) 不断学习!!...
- 判断一个字符串是否是回文