实验二 栈和队列
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验二:栈和队列
一、实验目的
1.掌握栈这种数据结构特性及其主要存储结构,并能在现实生活中灵活运用。
2.掌握队列这种数据结构特性及其主要存储结构,并能在现实生活中灵活运用。
二、实验环境
已安装CodeBlocks软件的计算机;
三、实验学时
2学时
四、实验要求
1.熟悉c语言的语法知识;
2.掌握栈的存储结构—顺序栈的定义、构造、获得栈顶元素、入栈、出栈等基本操作;
3.掌握队列的存储结构的定义、构造、销毁、插入、删除等基本操作;
4.完成实验报告。
五、实验内容
(注:所写代码要有良好的输入和输出提示,源文件的命名格式为:学号姓名,要求结果截图要包括学号姓名。)
1.参考课本代码,完成栈的定义、构造、获得栈顶元素、进栈、出栈等函数的编写。要求在主函数中实现对以上操作的调用,编写一个算法判断给定的字符向量是否为回文。回文是指正读与反读均相同的字符序列,如“abba”和“abdba”均是回文,但“good”就不是回文。
提示:入栈的元素应为字符
第一步:用一个字符数组来存储字符向量。
第二步:将字符数组入栈。(字符数组结束标识为’\0’)
第三步:出栈(出到栈空为止)取栈顶元素一一和字符数组的元素(从下标0开始)对比,若有一个不等则不是回文,若都相等则为回文。
附加题:输入中缀表达式,把中缀转成后缀表达式,然后计算表达式的值输出。
2.参考课本代码,完成队列的链式存储结构的定义、取对头、出队、入队等函数的编写,并自己独立完成链式队列的输出函数编写(从队头开始输出)。要求在主函数中实现对以上操作的调用,实现以下功能:
(1)队列初始化为空队列。
(2)键盘输入偶数时,入队。
(3)键盘输入奇数时,出队。
(4)每输入一个整数,显示操作后队列中的值。
(5)键盘输入0时,算法结束。
附加题:打印杨辉三角形。