- 3
- 0
- 约1.23千字
- 约 3页
- 2018-03-08 发布于河南
- 举报
数据结构-回文判断
#include stdio.h#include stdlib.h#include string.h#define EMPTY 0#define FULL 10000#define MAX 10000typedef char data;typedef struct elem { data d; struct elem *next;}elem;typedef struct stack { int cnt; elem *top;}stack;void initialize(stack *stk);void push(data d, stack *stk);data pop(stack *stk);bool empty(const stack *stk);bool full(const stack *stk); //栈操作函数void initialize(stack *stk){ stk-cnt = 0; stk-top = NULL;}bool empty(const stack *stk){ return stk-cnt == EMPTY;}bool full(const stack *stk){ return stk-cnt == FULL;}void push(data d, stack *stk){ elem *p; if (!full(stk)) { p = (elem *)malloc(sizeof(elem)); p-d = d; p-next = stk-top; stk-top = p; stk-cnt++; } }data pop(stack *stk){ data d; elem *p; if(!empty(stk)) { d = stk-top-d; p = stk-top; stk-top = stk-top-next; stk-cnt--; free(p); } return d;}int main(void){ data input[MAX]; stack temp; int i = 0; int flag = 0; initialize(temp); //初始化临时栈 scanf(%s, input); //输入字符串 while (input[i] != @) {//字符串入栈 push(input[i], temp); i++; } while (!empty(temp)) {//字符依次出栈和字符数组比较,判断是否回文数 if (temp.top-d == input[flag]) { pop(temp); flag++; } else { printf(此字符序列不是回文数!\n); break; } } if (empty(temp)) printf(此字符序列是回文数!\n); return 1;}
您可能关注的文档
最近下载
- 部编版语文五年级下册第一单元教材解读大单元集体备课.pptx VIP
- 车工 (数控车床)理论知识考核要素细目表四级.pdf VIP
- 本科课程《基础护理学》教案,第十二章给药.doc VIP
- 农村题材小品剧本村官.pdf VIP
- 小品剧本-小品《绰号》.docx VIP
- 小品剧本-小品《竞选》.docx VIP
- 本科课程基础护理学教给药教案(2025—2026学年).docx VIP
- LaserjetCP1025系列打印机打印质量故障排除手册.pdf VIP
- 年会小品剧本小品剧本:搞笑小品剧本《都是喝酒惹事》台词大全.docx VIP
- 2026年高考全国II卷文科综合真题试卷(新课标卷)(+答案).docx VIP
原创力文档

文档评论(0)