实验4顺序栈操作

实验4顺序栈操作

ID:16200278

大小:34.50 KB

页数:3页

时间:2018-08-08

实验4顺序栈操作_第1页
实验4顺序栈操作_第2页
实验4顺序栈操作_第3页
资源描述:

《实验4顺序栈操作》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验4顺序栈的实现与插入删除操作(2学时)【教学目的】加深理解顺序栈的意义,理解用它的插入与删除操作的算法,学会灵活运用已有知识,拓广思路。【教学内容】1用数制的转换算法调试顺序栈的基本操作算法。编写主程序调用数制的转换算法conversion算法,再由conversion调用InitStack等算法。用不同的数制转换成不同的进制调试程序并对相应的输出作为分析;修改输入数据,预期输出并验证输出的结果,加深对Push和Pop算法的理解。2完成上机实验题3.1和进制转换问题程序编写并上机调试。【主要仪器】计算机【实验内容】4.1实现顺序栈的各种基本运算算法

2、编写一个程序,实现顺序栈的各种基本运算,并在此基础上设计一个主程序完成如下功能:(1)初始化栈s(2)判断栈s是否非空(3)依此进栈元素a,b,c,d,e(4)判断栈s是否非空(5)输出栈的长度(6)输出从栈顶到栈底的元素(7)输出出栈序列(8)判断栈s是否非空(9)释放栈/*文件名:algo4-1.cpp*/#include#include#defineMaxSize100typedefcharElemType;typedefstruct{ElemTypeelem[MaxSize];inttop;/*栈指针*/}

3、SqStack;voidInitStack(SqStack*&s){s=(SqStack*)malloc(sizeof(SqStack));s->top=-1;}voidClearStack(SqStack*&s){free(s);}intStackLength(SqStack*s){return(s->top+1);}intStackEmpty(SqStack*s){return(s->top==-1);}intPush(SqStack*&s,ElemTypee){if(s->top==MaxSize-1)return0;s->top++;s->el

4、em[s->top]=e;return1;}intPop(SqStack*&s,ElemType&e){if(s->top==-1)return0;e=s->elem[s->top];s->top--;return1;}intGetTop(SqStack*s,ElemType&e){if(s->top==-1)return0;e=s->elem[s->top];return1;}voidDispStack(SqStack*s){inti;for(i=s->top;i>=0;i--)printf("%c",s->elem[i]);printf("")

5、;}/*文件名:exp4-1.cpp*/#include#include#defineMaxSize100typedefcharElemType;typedefstruct{ElemTypeelem[MaxSize];inttop;/*栈指针*/}tSqStack;externvoidInitStack(SqStack*&s);externvoidClearStack(SqStack*&s);externintStackLength(SqStack*s);externintStackEmpty(SqStack*s)

6、;externintPush(SqStack*&s,ElemTypee);externintPop(SqStack*&s,ElemType&e);externintGetTop(SqStack*s,ElemType&e);externvoidDispStack(SqStack*s);voidmain(){ElemTypee;SqStack*s;printf("(1)初始化栈s");InitStack(s);printf("(2)栈为%s",(StackEmpty(s)?"空":"非空"));printf("(3)依次进栈元素a,b,c,d,e

7、n");Push(s,'a');Push(s,'b');Push(s,'c');Push(s,'d');Push(s,'e');printf("(4)栈为%s",(StackEmpty(s)?"空":"非空"));printf("(5)栈长度:%d",StackLength(s));printf("(6)从栈顶到栈底元素:");DispStack(s);printf("(7)出栈序列:");while(!StackEmpty(s)){Pop(s,e);printf("%c",e);}printf("");printf("(8)栈为%s"

8、,(StackEmpty(s)?"空":"非空"));printf("(9)释放栈");C

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

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

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