数据结构出栈、入栈实验报告

数据结构出栈、入栈实验报告

ID:27801972

大小:226.34 KB

页数:8页

时间:2018-12-06

数据结构出栈、入栈实验报告_第1页
数据结构出栈、入栈实验报告_第2页
数据结构出栈、入栈实验报告_第3页
数据结构出栈、入栈实验报告_第4页
数据结构出栈、入栈实验报告_第5页
资源描述:

《数据结构出栈、入栈实验报告》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、《数据结构》实验报告院系应用科技学院专业电子信息工程姓名学号10级电信班2011年11月05日1.实验目的1、熟悉栈的定义和栈的基本操作。2、掌握顺序存储栈和链接存储栈的基本运算。3、加深对栈结构的理解,逐步培养解决实际能力问题的能力2.需求分析1、栈的建立输入形式和输入值的范围:输入若干个正整数,用空格隔开,以0结束。2、菜单操作根据提示进行操作。3•概要设计(1)为了实现上述程序功能,需要第一一个简化的链表抽象数据类型:ADTLinkList{数据对象:D={ai

2、ai丘IntegerSet,i=0,1,2,…,n,nNO}数据关系:Rl={

3、ai~l,ai

4、1^D,i=2,,n}基本操作:①进栈函数intPush(SqStack*S,inte)②出栈函数intPop(SqStack*S,int*e)③输出栈元素voidOutputStack(SqStack*S)④输出栈中的所有元素。4.详细设计采用链表实现概要设计屮的定义的抽象数据类型,有关数据数据类型和伪码算法定义如下:(1)类型定义typedefstruct{int*base;intMop;intstacksize;}SqStack(2)基本操作的伪码算法/****************构造一个空栈****************/intInitStack(SqStack&S

5、){S.base=(int*)malloc(STACK」NIT_SIZE*sizeof(int));if(!S.base)return0;S.top=S.base;S.stacksize=STACK.INIT.SIZE;return1;}intGetTop(SqStackS,int&e){if(S.top==S.base)return0;e=*(S.top-l);return1;}/****************入桟函数****************/intPush(SqStack&S,inte){〃插入元素e为新的栈顶元素if(S.top-S.base>=S.stacksi

6、ze){S.base=(int*)realloc(S.base,(S.stacksize+STACKINCREMENT)*sizeof(int));if(!S.base)return0;S.top=S.base+S.stacksize;S.stacksize+二STACKINCREMENT;}*S.top++二e;return1;}intPop(SqStack&S,int&e)if(S.top==S.base)return0;e=*~S.top;return1;}intOutputStack(SqStack&S){〃输出栈中所有元素int*p;inti;p=S.top-l;pri

7、ntfC栈屮的元素有:”);for(i=0;i

8、ntf("ttt*printf(Mttt*printf(nttt**************************printf(”请选择菜单号(0・3):“);用户输入0~3的数字,选择执行相应的功能。每执行一次功能,就会显示执行的结果以及执行后顺寻栈的内容。6•测试结果顺序栈操作XXXXX»(XXXXX口XXXXXXXXX*X*0•退岀程序?*…二遠顶元畫*桟中所有兀素*XX)(其XXXX其xxxxxxxxxxxxxxxxx*1•洁*2.*3■捌131415‘I、数是:5:1514131212:11:1顺序栈操作11■下谡展的实殓俟验3Debug实验3二

9、[口i回jYHMMw*iiAfeSi^i楊出的元素有:itMMM素元畫看•芫元所序顶品•■■■012312131415>13101号・w:書兀择元的选顶中主DE^戋顺序栈操作素元•—兀元所一序顶£-Is一岀一退输20123:3131415顺序栈操作素元MJL兀元所序顶醤也住戎戎戎1230C号-一BE-養any睪程选岀±3^7.附录#include#include#include#defineSTACK_INIT_SIZE1

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

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

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