欢迎来到天天文库
浏览记录
ID:27801972
大小:226.34 KB
页数:8页
时间:2018-12-06
《数据结构出栈、入栈实验报告》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
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;i8、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
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
此文档下载收益归作者所有