用链表实现栈和队列

用链表实现栈和队列

ID:9453349

大小:153.50 KB

页数:13页

时间:2018-05-01

用链表实现栈和队列_第1页
用链表实现栈和队列_第2页
用链表实现栈和队列_第3页
用链表实现栈和队列_第4页
用链表实现栈和队列_第5页
资源描述:

《用链表实现栈和队列》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、数据结构与算法分析实验二·实验报告姓名:XXXXXXXXXX学号:XXXXXXXXXX班级:CCCCCCCCCCXXXXXXXXXXX数据结构实验报告·实验二CCCCCCCCCCCCCC实验二(1)用链表实现栈一、实验描述用链表实现一个栈。二、实验设计1.进栈(PUSH)算法  ①若TOP≥n时,则给出溢出信息,作出错处理(进栈前首先检查栈是否已满,满则溢出;不满则作②);  ②置TOP=TOP+1(栈指针加1,指向进栈地址);  ③S(TOP)=X,结束(X为新进栈的元素);  2.退栈(POP)算法  ①若TOP≤0,则给出下溢信息,作出错处理(退栈前先检查是否已为空栈,空则下溢;

2、不空则作②);  ②X=S(TOP),(退栈后的元素赋给X):  ③TOP=TOP-1,结束(栈指针减1,指向栈顶)。三、实验实现代码#include#include#defineDataTypeint#defineMAXSIZE1024typedefstruct{DataTypedata[MAXSIZE];inttop;}SeqStack;//栈初始化  SeqStack*Init_SeqStack(){XXXXXXXXXXX数据结构实验报告·实验二CCCCCCCCCCCCCCSeqStack*s;s=(SeqStack*)malloc(size

3、of(SeqStack));if(!s){printf("空间不足");returnNULL;}else{s->top=-1;returns;}}//判栈空intEmpty_SeqStack(SeqStack*s){if(s->top==-1)return1;elsereturn0;}//入栈intPush_SeqStack(SeqStack*s,DataTypex){if(s->top==MAXSIZE-1)return0;//栈满不能入栈else{s->top++;s->data[s->top]=x;return1;}}XXXXXXXXXXX数据结构实验报告·实验二CCCCCC

4、CCCCCCCC//出栈intPop_SeqStack(SeqStack*s,DataType*x){if(Empty_SeqStack(s))return0;//栈空不能出栈else{*x=s->data[s->top];s->top--;return1;}//栈顶元素存入*x,返回}//取栈顶元素DataTypeTop_SeqStack(SeqStack*s){if(Empty_SeqStack(s))return0;//栈空elsereturns->data[s->top];}intPrint_SeqStack(SeqStack*s){inti;printf("当前栈中的元素:

5、n");for(i=s->top;i>=0;i--)printf("%3d",s->data[i]);printf("");return0;}XXXXXXXXXXX数据结构实验报告·实验二CCCCCCCCCCCCCCintmain(){SeqStack*L;intn,num,m;inti;L=Init_SeqStack();printf("初始化完成");printf("栈空:%d",Empty_SeqStack(L));printf("请输入入栈元素个数:");scanf("%d",&n);printf("请输入要入栈的%d个元素:",n);for(i=0;i

6、;i++){scanf("%d",&num);Push_SeqStack(L,num);}Print_SeqStack(L);printf("栈顶元素:%d",Top_SeqStack(L));printf("请输入要出栈的元素个数(不能超过%d个):",n);scanf("%d",&n);printf("依次出栈的%d个元素:",n);for(i=0;i

7、return0;}XXXXXXXXXXX数据结构实验报告·实验二CCCCCCCCCCCCCC二、实验结果XXXXXXXXXXX数据结构实验报告·实验二CCCCCCCCCCCCCC实验二(2)用链表实现队列一、实验描述用链表实现一个队列。二、实验设计队列是一种特殊的线性表,它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为空队列。在队列这种

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

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

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