tceic.com
学霸学习网 这下你爽了
当前位置:首页 >> 其它课程 >>

实验4 栈和队列实验报告

实验 4
一、实验目的

栈和队列基本操作实验
姓名 陈子豪 学号 201107024207

——网络 B11-2 班

1 熟悉栈、队列这种特殊线性结构的特性; 2 熟练掌握栈、队列在顺序存储结构和链表存储结构下的基本操作。

二、实验内容与要求
题目 1:利用栈结构,编程实现十进制数转换为二进制数。 题目 2:构造一个顺序循环队列,编程实现入队、出队操作,运行程序,观 察分析运行结果,体会顺序循环队列的特征。(也可以是顺序队列)

要求: 同学们可参考指导书实验 4 程序、教材算法及其他资料编程实现相关操作。 必须完成题目 1 和题目 2。 说明:报告可写在同一文档中。写报告时,按要求写好题目 1 报告,再按要 求写好题目 2 报告,然后可写题目 3 报告,总结放在一起即可。

三、 算法分析与设计。
菜单函数:运用 switch 进行编写; 入栈与出栈的算法分析:

入栈:
栈顶指针要小于储存空间分配量,否则返回错误;插入新的栈顶元素 x,栈顶指针随之 增加; status push(sqstack &s,elemtype x) { if (s.top==MAXNUM-1) return(0); s.top++; s.stack[s.top]=x; return(1); } 出栈:若栈不为空,则删除栈顶元素,并用 x 返回其值,并返回 ture;否则返回 false; status pop(sqstack &s,elemtype &x) { if (s.top==-1) return(0); x=s.stack[s.top];

s.top--; return(1);}

入栈

出栈

5 4

栈顶

后 进 先 出

3 2 1 0 栈底

如图所示,栈的顺序储存算法实现:

-1=>stack.top Stack.top= =maxsize=1 成立 return 0 Stack.top++ x=>stack.s[stack.top] Retur1 不成立

Stack.top== -1 成立 不成立 Stack.s[stack.top]=>X Stack.top- return 1

return 0

入队与出队的算法分析: 入 队 : 首 先 判 断 队 列 是 否 满 ; 若 满 返 回 0 , 否 则 执 行 ( Queue.q[Queue.rear]=x; Queue.rear=(Queue.rear+1)%MaxSize;) 插入元素 x 为新的队尾元素;并返回 1;

int EnQueue(SqQueue &Queue,ElemType x) (入队) { if((Queue.rear+1)%MaxSize==Queue.front) return 0; else { Queue.q[Queue.rear]=x; Queue.rear=(Queue.rear+1)%MaxSize; return 1; } } 出 队 : 判 断 队 列 是 否 空 if (Queue.rear==Queue.front) 并 返 回 0. 否 则 执 行 (x=Queue.q[Queue.front]; Queue.front=(Queue.front+1)%MaxSize;) 删除 Q 的队头元素, x 用 返回其值;

int DeQueue(SqQueue &Queue, ElemType &x) (出队) { if (Queue.rear==Queue.front) return 0; else { x=Queue.q[Queue.front]; Queue.front=(Queue.front+1)%MaxSize; return 1; } } int QueueEmpty(SqQueue Queue)/ { if (Queue.rear==Queue.front) return 1; else

return 0; } 初始化队列:构造一个结构体类型指针。

a
b
3 4 0

c
1

2

元素 X 入队列流程图如下:

四、 运行结果
栈的运行结果:

队列的运行结果:

五、 实验体会 在刚开始接触这个实验,对栈和队列的运用不是很清楚,在 打源代码是很困难。因此我又拿出课本, 对栈和队列的基本概念 和一些算法设计进行了一番研究, 并把一些理论知识和一些例子 进行了对比,终于逐渐弄懂了各程序的功能。在此基础上,再次 打程序时,我就更加得心应手了。虽然过程中总免不了一些小毛 病, 但是经过程序的调试和同学之间的推敲和讨论,成功地把错 误纠正。经过这次实验,我对这门课程有了更深入的了解,但是 也知道自己有很多不足,比如栈和队列的关联还是有些不太清 楚, 因此以后要利用课余时间多多钻研, 使我对这门课程更加了 解,对程序的编写进一步融会贯通。


推荐相关:

实验4 栈和队列实验报告.doc

实验4 栈和队列实验报告 - 实验 4 一、实验目的 栈和队列基本操作实验 姓名

实验4栈和队列.doc

实验4栈和队列 - 实验四栈和队列 一、实验目的 1、了解和掌握顺序栈、链栈的定

栈和队列实验报告.doc

栈和队列实验报告 - 实验三:栈和队列 程序代码: (1) :栈 #includ

实验报告(栈和队列).doc

实验报告(栈和队列) - 附录 A 实验报告 课程:数据结构(c 语言) 系别:数字媒体技术 专业班级: 姓名: 实验名称:栈和队列 实验日期: 组别: 学号: 11 月 15 ...

栈和队列实验报告 - 百度文库.pdf

栈和队列实验报告 - (规格为 A4 纸或 A3 纸折叠) 佛山科学技术学院(用四号宋体) 实 课程名称 实验项目 专业班级 指导教师 验 报 告(用小二号黑体) 数据...

栈和队列基本操作实验报告.doc

栈和队列基本操作实验报告 - 实验堆栈和队列基本操作的编程实现 【实验目的】 堆栈和队列基本操作的编程实现 要求: 堆栈和队列基本操作的编程实现(2学时,验证...

实验五 栈和队列验证实验报告.doc

实验栈和队列验证实验报告 - 班级:计算机 11-1 学号: 姓名: 成绩:___ 实验一 一、实验目的 顺序表操作验证 (1)掌握栈的顺序存储结构; (2)...

数据结构栈和队列实验报告.doc

数据结构栈和队列实验报告 - 一、实验目的和要求 (1)理解栈和队列的特征以及它

栈和队列及其应用实验报告.doc

栈和队列及其应用实验报告 - 数据结构实验报告 实验名称:栈和队列及其应用 班学

栈和队列的基本操作实验报告.doc

栈和队列的基本操作实验报告 - 《数据结构》 实验报告一 软件 132 201300514211 徐蜀 实验二 一、实验目的 栈和队列的基本操作及其应用 1、 掌握栈和队列的顺...

数据结构实验4 栈和队列.doc

数据结构实验4 栈和队列 - 《数据结构》实验报告 实验序号:4 学号姓名 实验

4数据结构实验栈与队列.doc

实验报告院(系) :信息科学与技术学院 班级 专业 实验 名称 所用 软件 实验目的实验准备 学号 姓名 实验 4 栈与队列的基本使用 课程名称:数据结构 实验室 ...

《数据结构》栈和队列实验报告.doc

《数据结构》栈和队列实验报告_工学_高等教育_教育专区。《数据结构》 栈和...[x]&12))]); return 0; } 四.实验中的问题及心得在运行航空客运订票系统...

栈和队列实验报告.doc

栈和队列实验报告 - 西安邮电大学 (计算机学院) 课内实验报告 实验名称: 栈和队列的应用 专业名称: 班级: 学生姓名: 学号(8 位): 指导教师: 实验时间: 一....

栈和队列实验报告.doc

数据结构(实验环节-栈和队列) 班级:卓越 121 姓名:刘焕超 学号:201207092235 ...4.整理并上交实验报告. 三、实验内容 [问题描述] 对于一个从键盘输入的字符串...

栈与队列 实验报告.doc

栈与队列 实验报告 - 安徽师范大学 数学计算机科学学院实验报告 专业名称 实验实验课程 实验名称 姓学名号 计算机科学与技术 6 号实验楼 401 室 数据结构 栈...

数据结构栈与队列的实验报告.doc

数据结构栈与队列实验报告 学院:数学与计算机学院 班级:计算机科学与技术 姓名:...三、程序设计的基本思想、原理和算法描述: 四、实验内容: 1、利用栈的基本操作...

数据结构--栈和队列的应用实验报告.doc

数据结构--栈和队列的应用实验报告 - 课程名称 实验序号 实验项目 实验地点 实验学时 专业学号 C 语言程序设计 1 循环控制结构 综 B402 号机房 4 实验类型 ...

数据结构栈和队列实验报告.doc

数据结构栈和队列实验报告 - 《数据结构》课程实验报告 实验名称 姓专名业 栈和队列 院系 实验序号 班级 指导教师 实验日期 学号 成绩 教师评语 一、实验目的和...

数据结构栈和队列实验报告.doc

数据结构栈和队列实验报告 - 一、实验目的和要求 (1)理解栈和队列的特征以及它

网站首页 | 网站地图
All rights reserved Powered by 学霸学习网 www.tceic.com
copyright ©right 2010-2021。
文档资料库内容来自网络,如有侵犯请联系客服。zhit325@126.com