软件技术基础 实验四:栈和队列的操作实现.doc

软件技术基础 实验四:栈和队列的操作实现.doc

ID:56238754

大小:63.00 KB

页数:9页

时间:2020-03-23

软件技术基础 实验四:栈和队列的操作实现.doc_第1页
软件技术基础 实验四:栈和队列的操作实现.doc_第2页
软件技术基础 实验四:栈和队列的操作实现.doc_第3页
软件技术基础 实验四:栈和队列的操作实现.doc_第4页
软件技术基础 实验四:栈和队列的操作实现.doc_第5页
资源描述:

《软件技术基础 实验四:栈和队列的操作实现.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、电子科技大学电子工程学院标准实验报告(实验)课程名称软件技术基础学生姓名:学号:指导教师:一、实验名称实验四:栈和队列的操作实现二、实验目的理解栈和队列的基木概念,栈和队列操作的基本方法以及其编程实现。通过木实验的两个项H的编程、调试和运行结果的比较,分析栈和队列的差别。三、实验内容1、设计一•个容量为4的循环队列,编程实现如下操作,并显示各步骤操作后队列的内容:A、队列初始化为空;B、将1、2、3三个数据依次做入队操作;C、做两次出队操作(1、2出队);D、将4、5、6三个数据依次做入队操作;E、将数据7做入队操作;2、设计一•个容量为4的顺序栈,编程实现如下操作

2、,并显示各步骤操作后栈的内容:A、栈初始化为空;B、将1、2、3三个数据依次做入栈操作;C、做两次出栈操作;D、将4、5、6三个数据依次做入栈操作;E、将数据7做入栈操作;四、实验程序1•循环队列程序#include#include#definetrue1#definefalse0#definemaxnum5typedefstruct{intdata[maxnum];intfront;intrear;}queuetype;voidmain()voidinitiatequeue(queuetype*q);intenter(queu

3、etype*q,intx);intdeletequeue(queuetype*q);voidprintqueue(queuetype*q);queuetype*q;q=(queuetype*)malloc(sizeof(queuetype));initiatequeue(q);enter(qj);enter(q,2);enter(q,3);printf(n入队操作后:rT);printqueue(q);printf(H两次出队操作后:H);deletequeue(q);deletequeue(q);pdntqueue(q);printf(H三次入队操作

4、Ju:");enter(q,4);enter(q,5);enter(q,6);printqueue(q);printf(H第四次入队操作Jh:M);enter(q,7);voidinitiatequeue(queuetype*q)〃初始化队歹!Iq->front=q->rear=0;}intenter(queuetype*q,intx)〃入队操作{if(((q->rear)+1)%maxnum==q->front){prhHfC队列已满,不能进行入队操作『);return(false);}else{q->rear=(ql)%maxnum;q->data

5、[q->rear]=x;printf("成功插入%d",x);return(true);)}intdeletequeue(queuetype*q)〃出队操作{if(q・>rea『二二q・>front){printf(H队列已空“);return(false);}else{q->front=(q->front+I)%maxnum;printfC*成功删除『);return(q->data[q->front]);voidprintqueue(queuetype*q)〃输出队列{int1;if(q・>front==q・{printf(“队列己空');return

6、;1I二q・>front;printf(“结果是“);while(l){l=(++l)%maxnum;printf("%d",q->data[lj);if(l==q・>「ear)break;})2.顺序栈程序#include#include#definetrue1#definefalse0#definemaxnum4typedefstruct{intdata[inaxnum];inttop;}stacktype;voidmain()Ivoidinitiatestack(stacktype*s);intpushstack

7、(stacktype*s,intx);intpopstack(stacktype*s);intprintstack(stacktype*s);stacktype*s;s=(stacktype*)malloc(sizeof(stacktype));initiatestack(s);printfC入栈操作后:rT);pushstack(s,1);pushstack(s,2);pushstack(s,3);printstack(s);printf(/z两次出栈操作后:W);popstack(s);popstack(s);printstack(s);printf(

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。