欢迎来到天天文库
浏览记录
ID:46569627
大小:60.50 KB
页数:9页
时间:2019-11-25
《软件技术基础实验四:栈和队列的操作实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、电子科技大学电子工程学院标准实验报告(实验)课程名称软件技术基础学生姓名:学号:指导教师:一、实验名称实验四:栈和队列的操作实现二、实验目的理解栈和队列的基本概念,栈和队列操作的基本方法以及其编程实现。通过本实验的两个项目的编程、调试和运行结果的比较,分析栈和队列的差别。三、实验内容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(queue
3、type*q,intx);intdeletequeue(queuetype*q);voidprintqueue(queuetype*q);queuetype*q;q=(queuetype*)malloc(sizeof(queuetype));initiatequeue(q);enter(q,1);enter(q,2);enter(q,3);printf("入队操作后:");printqueue(q);printf("两次出队操作后:");deletequeue(q);deletequeue(q);printqueue(q);printf("三次入队操
4、作后:");enter(q,4);enter(q,5);enter(q,6);printqueue(q);printf("第四次入队操作后:");enter(q,7);}voidinitiatequeue(queuetype*q)//初始化队列{q->front=q->rear=0;}intenter(queuetype*q,intx)//入队操作{if(((q->rear)+1)%maxnum==q->front){printf("队列已满,不能进行入队操作");return(false);}else{q->rear=(q->rear+1)%max
5、num;q->data[q->rear]=x;printf("成功插入%d",x);return(true);}}intdeletequeue(queuetype*q)//出队操作{if(q->rear==q->front){printf("队列已空");return(false);}else{q->front=(q->front+1)%maxnum;printf("成功删除");return(q->data[q->front]);}}voidprintqueue(queuetype*q)//输出队列{intl;if(q->front==q->rear)
6、{printf("队列已空");return;}l=q->front;printf("结果是");while(1){l=(++l)%maxnum;printf("%d",q->data[l]);if(l==q->rear)break;}}2.顺序栈程序#include#include#definetrue1#definefalse0#definemaxnum4typedefstruct{intdata[maxnum];inttop;}stacktype;voidmain(){voidinitiatestack(stack
7、type*s);intpushstack(stacktype*s,intx);intpopstack(stacktype*s);intprintstack(stacktype*s);stacktype*s;s=(stacktype*)malloc(sizeof(stacktype));initiatestack(s);printf("入栈操作后:");pushstack(s,1);pushstack(s,2);pushstack(s,3);printstack(s);printf("两次出栈操作后:");popstack(s);popstack(s)
此文档下载收益归作者所有