数据结构实验 栈和队列

数据结构实验 栈和队列

ID:17911252

大小:230.50 KB

页数:15页

时间:2018-09-09

数据结构实验   栈和队列_第1页
数据结构实验   栈和队列_第2页
数据结构实验   栈和队列_第3页
数据结构实验   栈和队列_第4页
数据结构实验   栈和队列_第5页
资源描述:

《数据结构实验 栈和队列》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验名称:栈和队列班级:学号:________姓名:报告日期:一、实验目的及要求1.栈的顺序存储和链式存储结构的类型定义方法及其基本操作算法2.队列的顺序存储和链式存储结构的类型定义方法及其基本操作算法3.掌握栈、队列的思想及其存储实现4.掌握栈、队列的常见算法的程序实现二、实验内容1.编写函数,采用链式存储实现栈的初始化、入栈、出栈操作。2.编写函数,采用顺序存储实现栈的初始化、入栈、出栈操作。3.编写函数,采用链式存储实现队列的初始化、入队、出队操作。4.编写函数,采用顺序存储实现队列的初始化、入队、出队操作。5.编写一个主函数

2、,在主函数中设计一个简单的菜单,分别调试上述算法。三、实验结果四、实验总结编写函数,分别采用链式存储和顺序存储实现栈的初始化、入栈、出栈操作,以及编写函数,采用链式存储和顺序存储实现队列的初始化、入队、出队操作。通过对这次实验练习,对利用C语言进行编程有了进一步感悟和理解,同时也在课堂学习之后,对顺序存储和链式存储的算法思想有了更好的掌握,也认识到在C语言编写程序时,函数有很大的作用,在编程中,通过编辑函数和调用函数可以解决很多问题,以后应多加练习。源代码:#include#include#de

3、fineMAXSIZE256typedefintdatatype;typedefstructnode{datatypedata;structnode*next;}StackNode,QNode,*LinkStack;typedefstruct{datatypedata[MAXSIZE];intfront,rear;intnum;inttop;}SeqStack,C_SeQueue;typedefstruct{QNode*front,*rear;}LQueue;LinkStackInit_LinkStack();LinkStackPu

4、sh_LinkStack(LinkStacktop,datatypex);LinkStackPop_LinkStack(LinkStacktop,datatype*s);SeqStack*init_SeqStack();intPush_SeqStack(SeqStack*S,datatypex);intPop_SeqStack(SeqStack*S,datatype*p);LQueue*Init_LQueue();voidIn_LQueue(LQueue*q,datatypex);intOut_LQueue(LQueue*q,dat

5、atype*s);C_SeQueue*init_SeQueue();intIn_SeQueue(C_SeQueue*q,datatypex);intOut_SeQueue(C_SeQueue*q,datatype*p);intmain(){intn,m,t=1;while(t){printf("");printf("1.链栈");printf("2.顺序栈");printf("3.链队");printf("4.顺序队");printf("5.结束");printf("请选择代号进行操作:");scanf("%

6、d",&n);switch(n){case1:{LinkStackL=NULL;while(t){printf("");printf("1.初始化");printf("2.入栈");printf("3.出栈");printf("4.返回上一层");scanf("%d",&m);if(m==4)break;else{switch(m){case1:L=Init_LinkStack();break;case2:{LinkStackp;datatypex;printf("请输入x:");scanf("%d",&x)

7、;L=Push_LinkStack(L,x);p=L->next;while(p){printf("%d",p->data);p=p->next;}break;}case3:{datatypex,*s;LinkStackp;s=&x;L=Pop_LinkStack(L,s);p=L->next;while(p){printf("%d",p->data);p=p->next;}printf("出栈数:%d",x);break;}case4:break;}}}}break;case2:{SeqStack*S;while(t){print

8、f("");printf("1.初始化");printf("2.入栈");printf("3.出栈");printf("4.返回上一层");scanf("%d",&m);if(m==4)break;else{swi

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

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

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