回文判断试验二_第1页
回文判断试验二_第2页
回文判断试验二_第3页
回文判断试验二_第4页
回文判断试验二_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、回文判断实验二洛阳理工学院实验报告系别计算机系班级B13053学号B13053235姓名李登辉2课程名称数据结构实验日期2014328实验名称栈和队列的基本操作成绩 实验目的:熟悉掌握栈和队列的特点,掌握与应用栈和队列的基本操作算法,训练和提 高结构化程序设计能力及程序调试能力。实验条件:计算机一台,Visual C+6.0实验内容:1.问题描述利用栈和队列判断字符串是否为回文。称正读与反读都相同的字符序列为“回文”序列。要求利用栈和队列的基本算法实现判断一个字符串是否为回文。栈和队列的存储结构不限。2.vo int int vo int int vo4.数据结构类型定义 typedef st

2、ructchar elemMAX; int top;SeqStack;顺序栈模块划分d In itStack(SeqStack *S):栈初始化模块,Push(SeqStack *S,char x,i nt cnt):入栈操作Pop(SeqStack * S,char * x) :出栈操作 d Ini tQue ne(SeqQue ne *Q):队列初始化 En terQue ne(SeqQue ne *Q,char x,i nt cnt):入队操作DeleteQue ne(SeqQue ne *Q,char *x,i nt cnt):出队操作d mai n():主函数详细设计#i nclud

3、e<stdio.h>#i ncludevstri ng.h>#define MAX 50#define FALSE 0#define TURE 1/ 定义栈typedef structchar elemMAX;int top;SeqStack;/定义循环队列 typedef structchar eleme ntMAX; int front;int rear;SeqQue ne;/初始化栈void In itStack(SeqStack *S)S->top = -1;/构造一个空栈/入栈int Push(SeqStack *S,char x,i nt ent)if(S-

4、>top = cn t-1) return(FALSE);S->top+;S->elemS->top = x; return(TURE);/出栈int Pop(SeqStack * S,char * x)if(S->top = -1) return(FALSE);else*x = S->elemS->top;S->top-; return(TURE);/初始化队列void In itQue ne(SeqQue ne *Q)Q->front = Q->rear = 0;/入队int En terQue ne(SeqQue ne *Q,c

5、har x,i nt ent) if(Q->rea r+1)%(c nt+1) = Q->fro nt) return(FALSE);Q->eleme ntQ->rear = x;Q->rear = (Q->rea 叶1)%(cnt+1); return(TURE);/出队int DeleteQue ne(SeqQue ne *Q,char *x,i nt ent) if(Q->fr ont = Q->rear) return(FALSE);*x = Q->eleme ntQ->fro nt;Q->fro nt = (Q->

6、;fro nt+1)%(c nt+1); return(TURE);/主函数void main()int i,c nt,flag;SeqStack s;SeqQue ne q;char aMAX,bMAX,cMAX; flag=0;n",MAX);printf(”请输入由*结束且小于d的回文序列:for(i = 0;i<MAX+1;i+)sca nf("%c",&ai); if(ai = '*') break;ent = i;printf("输入了有 d(字符。n",cnt);In itStack(&s);

7、In itQue ne(&q);for(i = 0;i<c nt;i+)En terQue ne(&q,ai,c nt);Push(&s,ai,c nt);prin tf("正序字符串为:n");for(i = 0;i<c nt+1;i+)DeleteQue ne(&q,&bi,c nt);prin tf("%c",bi);prin tf("n");prin tf("逆序字符串为:n");for(i = O;i<c nt+1;i+) Pop(&s,&

8、amp;ci); prin tf("%c",ci);prin tf("n");for(i = O;i<c nt+1;i+)if(bi = ci)flag = 1;elseflag = 0; break;if(flag)printf(" 此序列是回文序列!"); elseprin tf("此序列不是回文序列!");prin tf("n");测试数据及结果:请输入由童吉束且小于强的回文序;abba*hbba肚序字符串为:kxbba些诉列是回文序列!Pi'ess an割 1<e tc continue请输入由確吉束且中于如的回文序列; adf si*adf a逆序字符串为gf da此序列不是回文序列丨Pi*-e&nv key to continue实验总结:读取一个字符, 同时存储在顺

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论