网站大量收购闲置独家精品文档,联系QQ:2885784924

数据结构C语言回文判断(运用栈以及队.docxVIP

数据结构C语言回文判断(运用栈以及队.docx

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构 C 语言回文判断(运用 栈 以及队列完成) 班 班 学 数据结构实验报告 回文判断 级: 号: 学生姓名: 指导教师: 时 间: 2015 年 5 月 5 日 1.实验目的 : 熟悉栈和队列的各项操作,区别栈和 队列 的操作原理。 2. 实验内容: 利用栈的操作完成读入的一个以 @吉尾的 字符序列是否是回文序列的判断. 回文序列即正读与反读都一样的字符序 列 ; 123 、123312 盗 4如: 123321 硬; 算法思想:从键盘上读取一个字符,同时存储在 顺 序栈与链队列之中,直到字符序列的最后一个 字符 为 雷止输入,因为要满足特定的要求:序 列 1 听列 2,故设置夜歌标记量 falg=1,判断输 入的元素个数是 否为奇数个,若为偶数个则令flag=0,若为奇数个继 续判断栈的中间元素是否 为,若不是则令flag=0 , 若是,将栈和队列中 的元素依次出列,判断是否相等,若不相等则令 flag=0,最后将 flag 的值返回给主函数,若 flag 被修改为 0 说明不是回文序列,否则反之! ! 判断 回文序列的流程图: Y m%2!=0 N 初始化 初始化栈s-Ineit[(/)==^ 初始化队列 InitQ(q) flag=0 :B i(m+l)/2 cfhl Y\ch!=@ =0 N enter(q,ch) flag=0 m++ pop(s,ch1) printf(%c,ch) deleteq(q,ch2) push(s,ch) Y ch1!=ch2 N 当 ch!=@时 i=1 i++ 算N 算 法实现: (1) void InitStack(SeqStack *s):栈初始化模块 , 即初始化一个空栈,随后对该空栈进行数据的写 入 操作; (2) int push(SeqStack *s,char ch):入栈操作, 即给 空栈中写入数据; (3) int pop(SeqStack *s,char *x):出栈操作, 即 将栈中的数据输出,由于栈的操作是先进后 出,因 此,出栈的数据是原先输入数据的逆序; (4) void InitQuene(LinkQ *q):队列初始化, 即初始化一个空队列,最后对该空队列进行数据 的 写入操作; (5) int enter(LinkQ *q,char ch):入队操作, 即给 空队列中写入数据; (6) int deleteq(LinkQ *q,char *c):出队操作, 即 将队列中的数据输出,由于队列的操作是先进 先出, 因此,出队的数据室原先输入数据的正序; (7) int huiwen(SeqStack s,LinkQ q):输入序列 并 判断所输入的序列是否是回文序列; (8) void main():主函数,用于调用前面的模 块, 并输出最终的判断结果。 3. 实验感想与体会 通过本次的上机,对栈的各项基本操作都有了更 好 的掌握,同时明白了一些小的细节问题可能会 影响 到整个程序的正确的运行,本次的实验我通 过了运 用栈和队列,可以说对队列的一些基本的 操作也得 以了巩固和提高!更加体会到,自己写 程序上机操 作的重要性,它要比课本上学的要多 得多! 4. 附录(源代码及运行图) #include stdio.h #include stdlib.h #define MAX 100 typedef struct// 栈结构体 ( char e[MAX]; int top; }SeqStack; typedef struct NODE// 队列结构体 ( char d; struct NODE *next; }LinkQN; typedef struct//封装头指针为指针 ( LinkQN *front; LinkQN *rear; }LinkQ; void InitStack(SeqStack *s)// 初始化顺序栈 ( s-top=-1; ) int push(SeqStack *s,char ch)// 入栈 ( if(s-top==MAX-1) return(0); s-top++; s-e[s-top]=ch; return(1); } int pop(SeqStack *s,char *x)// 出栈 ( if(s-top==-1) return(0); else ( *x=s-e[s-top]; s-top--; return(1); } } void InitQuene(LinkQ *q)// 链队列初始化 q-front=(LinkQN *)malloc(sizeof(LinkQN)); if(!q-front) ( p

文档评论(0)

墨臻网络 + 关注
官方认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8076027046000022
认证主体苏州墨臻互联网科技有限公司
IP属地江苏
统一社会信用代码/组织机构代码
91320506MA26CPT988

1亿VIP精品文档

相关文档