河南工业大学实验报告_实验一 线性结构(二)——栈和队列的操作.doc

河南工业大学实验报告_实验一 线性结构(二)——栈和队列的操作.doc

ID:56492226

大小:125.00 KB

页数:7页

时间:2020-06-25

河南工业大学实验报告_实验一 线性结构(二)——栈和队列的操作.doc_第1页
河南工业大学实验报告_实验一 线性结构(二)——栈和队列的操作.doc_第2页
河南工业大学实验报告_实验一 线性结构(二)——栈和队列的操作.doc_第3页
河南工业大学实验报告_实验一 线性结构(二)——栈和队列的操作.doc_第4页
河南工业大学实验报告_实验一 线性结构(二)——栈和队列的操作.doc_第5页
资源描述:

《河南工业大学实验报告_实验一 线性结构(二)——栈和队列的操作.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、xxxx大学实验报告课程名称数据结构实验项目实验一线性结构(二)——栈和队列的操作院系信息学院计类系专业班级计类1501姓名学号指导老师日期批改日期成绩一实验目的1.熟练掌握栈的存储结构及相关典型操作。2.熟练掌握队列的存储结构及相关典型操作。二实验内容及要求实验内容:1.建立链式栈,实现栈的初始化、进栈、出栈等典型操作。2.建立循环队列,实现队列的初始化、进队、出队等典型操作。实验要求:1.键盘输入数据;2.屏幕输出运行结果。3.要求记录实验源代码及运行结果。4.运行环境:VC++6.0三实验过程及运行结果1、循环队列#inc

2、lude#include#defineOK1#defineERROR0#defineOVERFLOW-2#defineMAXQSIZE100//最大队列长度typedefstruct{int*base;//初始化的动态分配存储空间intfront;intrear;}SqQueue;//初始化队列intInitQueue(SqQueueQ){Q.base=(int*)malloc(MAXQSIZE*sizeof(int));if(!Q.base)exit(OVERFLOW);//存储分配失败Q

3、.front=Q.rear=0;returnOK;}//入队操作intEnQueue(SqQueueQ){inte;if((Q.rear+1)%MAXQSIZE==Q.front)//判断队满{printf("队列已满,不能入队");returnERROR;}printf("请输入入队元素:");scanf("%d",&e);Q.base[Q.rear]=e;//入队Q.rear=(Q.rear+1)%MAXQSIZE;//队尾指针后移returnOK;}//出队操作intDeQueue(SqQueueQ){inte;if(

4、Q.front==Q.rear)//判断队空{printf("队列已为空");returnERROR;}e=Q.base[Q.front];//队头出队printf("输出的出队元素为:");printf("%d",e);Q.front=(Q.front+1)%MAXQSIZE;//队头下表后移returnOK;}//队列长度intQueueLength(SqQueueQ){return((Q.rear-Q.front+MAXQSIZE)%MAXQSIZE);}//队列遍历intQueueTraverse(SqQueue

5、Q){printf("遍历结果为:");while(Q.front!=Q.rear){printf("%d",Q.base[Q.front]);Q.front=(Q.front+1)%MAXQSIZE;}printf("");returnOK;}intmain(){intn;SqQueueQ;InitQueue(Q);printf("*输入1为入队*");printf("*输入2为出队*");printf("*输入3为队列长度*");printf("*输入4为遍历*");printf("*输入0为退出*"

6、);printf("*****************");while(scanf("%d",&n),n){switch(n){case1:EnQueue(Q);break;case2:DeQueue(Q);break;case3:printf("队列长度为%d",QueueLength(Q));break;case4:QueueTraverse(Q);break;}}return0;}1、链式栈#include#include#defineOK1#defineERROR0#defi

7、neOVERFLOW-2typedefintStatus;typedefintSElemType;typedefstructnode{SElemTypedata;structnode*next;}SLnode,*SLinkList;typedefstruct{SLinkListtop,base;intlen;}S_LinkList;//栈的初始化StatusCreat_S(S_LinkList&S){intn;SLinkListp,q;printf("栈的初始化,请输入数据,以-1结束:");S.top=(SLinkList

8、)malloc(sizeof(SLnode));S.base=(SLinkList)malloc(sizeof(SLnode));S.top->next=S.base;q=S.base;S.len=0;while(scanf("%d",&n),n!=-1){p=

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

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

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