第三章:栈与队列算法设计题(2)
2013-10-07 21:41
330 查看
#include <stdio.h> #include <string.h> //这是一个利用栈来判断回文字符串的操作; /* 提示: 将一半字符入栈; */ #define N 100 char str ; typedef struct LinkList { char *m; int base,top; }LinkList; LinkList L; void ChuShi(LinkList &L) { //初始化顺序栈操作; L.top=L.base=0; L.m=new char ; if(!L.m) printf("分配空间失败!\n"); } void RuZhan(LinkList &L,int len) { ChuShi(L); int base=len-1,i; //len为字符串长度,需要将字符串中的一半字符入栈; len = len/2; for(i=0;i<len;i++) { L.m[i]=str[base]; str[base--]=0; L.top++; } str[len]=0; } int flag=1; void PanDuan(char *str) { printf("这是一个判断回文字符串的函数:\n"); RuZhan(L,strlen(str)); //写一个判断字符串是否相等的函数; int ll=strlen(str); for(int i=0;i<ll;i++) if(L.m[i]!=str[i]) flag=0; if(flag) printf("Yes\n"); else printf("No\n"); } int main() { printf("请输入一个字符串:\n"); scanf("%s",str); PanDuan(str); return 0; }
相关文章推荐
- Delphi XE5 for Android (四)
- 标准C++算法库
- java 初级试题
- poj 1741 (树的分治)
- 换个角度看世界
- 网络变成中的“大端”与“小端”
- SSH原理与运用(一):远程登录
- 函数参数列表的声明
- 无锁,线程安全,延迟加载的单例实现(C#)
- java学习和Android学习
- 小Q系列故事——电梯里的爱情
- windows 批量执行命令的脚本
- 传真调制解调器
- [各种面试题] 二叉树旋转查询
- XMPP服务器性能比较
- 基于Equinox构建OSGi项目
- [笔试题]黑板上写下50个数字,选两个黑板上数字a和b,在黑板写|b-a|,剩下的数字?
- SolrCloud攻略
- 文本编辑器代码分析
- 白盒测试逻辑覆盖法