下载此文档

数据结构c语言版判断回文数实验报告.doc


文档分类:IT计算机 | 页数:约7页 举报非法文档有奖
1/7
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/7 下载此文档
文档列表 文档介绍
数据结构实验报告判断回文数班级:班内序号:学生姓名:指导教师:时间:2011年10月24日实验目的熟悉栈和队列的各项操作,区别栈和队列的操作原理。实验内容利用栈的操作完成读入的一个以*结尾的字符序列是否是回文序列的判断。回文序列即正读与反读都一样的字符序列,例如:43211234*是回文序列,而789678*不是。数据结构及算法思想算法思想:从键盘上读取一个字符,同时存储在顺序栈与链队列之中,直到字符序列的最后一个字符为*停止插入。在程序中设置了一个标志位flag,将输入的序列分别做入栈、出栈、入队、出队操作,若出栈与出队的数据完全一致,则将flag标志为1,否则为零。Flag为1,则表示该序列是回文序列,否则,为非回文序列。模块划分对各个模块进行功能的描述voidInitStack(SeqStack*S):栈初始化模块,即初始化一个空栈,随后对该空栈进行数据的写入操作;intPush(SeqStack*S,charx,t):入栈操作,即给空栈中写入数据,数据长度有宏定义给出;intPop(SeqStack*S,char*x):出栈操作,即将栈中的数据输出,由于栈的操作是先进后出,因此,出栈的数据是原先输入数据的逆序;voidInitQuene(SeqQuene*Q):队列初始化,即初始化一个空队列,最后对该空队列进行数据的写入操作;intEnterQuene(SeqQuene*Q,charx,t):入队操作,即给空队列中写入数据,数据长度一样有宏定义给出;intDeleteQuene(SeqQuene*Q,char*x,t):出队操作,即将队列中的数据输出,由于队列的操作是先进先出,因此,出队的数据室原先输入数据的正序;voidmain():主函数,用于调用前面的模块,进行出队数据与出栈数据的比较,判断输入的序列是否是回文序列。模块之间关系及其相互调用的图示详细设计及运行结果(1)程序设计及编码#include<>#include<>#defineMAX50#defineFALSE0#URE1//定义栈typedefstruct{ charelem[MAX]; inttop;}SeqStack;//定义循环队列typedefstruct{ charelement[MAX]; intfront; intrear;}SeqQuene;//初始化栈voidInitStack(SeqStack*S){ S->top=-1;//构造一个空栈}//入栈intPush(SeqStack*S,charx,t){ if(S->top==cnt-1) return(FALSE); S->top++; S->elem[S->top]=x; return(TURE);}//出栈intPop(SeqStack*S,char*x){ if(S->top==-1) return(FALSE); else { *x=S->elem[S->top]; S->top--; return(TURE); }}//初始化队列voidInitQuene(SeqQuene*Q){ Q->front=Q->rear=0;}//入队intEnterQuene(SeqQuene*Q,charx,t){ if((Q->rear+1)%(cnt+1)==Q->front)

数据结构c语言版判断回文数实验报告 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数7
  • 收藏数0 收藏
  • 顶次数0
  • 上传人wxc6688
  • 文件大小900 KB
  • 时间2020-07-01