欢迎来到天天文库
浏览记录
ID:28072370
大小:99.50 KB
页数:6页
时间:2018-12-07
《数据结构实验三栈的实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、实验报告姓名学号实验组实验时间指导教师成绩实验项0名称栈的实现实验的1.掌握栈的顺序和链式存储思想及其存储实现。2.掌握栈的常见算法的程序实现。实验环境运行VisualC++的微机一台实验内容1.采用链式存储实现栈的初始化、入栈、出栈、显示、判空操作。2.采用顺序存储实现栈的初始化、入栈、出栈、显示、判空操作。3.编写一个主函数,调试上述算法。1.顺序存储的程序运行结果实验数据栈顶位置为3浅崩1占空间大小为10栈中数据为:23115678910_、入栈数据:100栈顶位置为10淺兪占空间大小为20栈中数据为:2311100二、出栈
2、栈顶100已出栈栈顶位置为3礓俞占空间大小为2045678910栈中数据为:2311三、该栈是否为空?否请按任意键继续...45678910C:Windowssystem32cmd.exe、卜11丁J2.链成存储程序运行结果C:Windowssystem32cmd.exe第一个数据为栈顶第1个数据:12第2个数据:11笫3个数据:10第M个数据:3第5个数据:8第S个数据:7第7个数据:S第8个数据:5笫3个数据:4笫W个数据:3後的兵度为10入找数据:250第一个数据为栈顶笫1个数据:250第2个数据:12第3个数据
3、:11第4个数据:10第5个数据:3第G个数据:8笫7个数据:7笫8个数据:S第3个数据:5第W个数据:4第个数据:3後的兵度为11值为12值为250二、出栈栈顶250已出栈第一个数据为栈顶,值为12第1个数据:12第2个数据:11第3个数据:10桌1♦个数稳:3第5个数据:8第S个数据:7第7个数据:6第8个数据:5第3个数据:4第10个数据:3栈的长度为10三、该栈是否为空?否按任意键继续..._实验总结本次实验基本达到了实验目的,但在调试过程中出现了儿个错误:将命名空间“usingnamespace”误写成了“usingna
4、mspace”;在写voidDisplaySlink(SIink*p)函数时,判断P所指空间是否为空的代码没加“exit(l)”,导致程序运行时,出现系统错误。通过本次实验,我发现了自己很多不足,尤其是在对算法的编写上,思维还不够缜密,还不能站在计算机的角度思考问题,并且在编写程序时,还很马虎,犯了一些语法错误。以后还需要多加练习,训练自己的思维,进而提高自己的编程能力。指导教师意见签名:年月日1.栈的顺序存储#includeusingnamespacestd;typedefintElemtype;struct
5、stack{Elemtype氺p;inttop;intmaxsize;};boolInitStack(stack&a)/*初始化栈*/{a.maxsize=10;a.p=newElemtype[a.maxsize]:if(!a.p){cout<〈"分配空间火败"〈〈endl;returnfalse;)a.lop=-l;returntrue;}voidPushStack(stack&a,Elemtypedata)/*入栈*/{if(ci.top~ci.maxsize-1){a.p=(Elemtype氺)realloc(a.p,2氺a
6、.maxsize*sizeof(Elemtype)):a.maxsizc=2*ci.maxsize;}a.top++;a.p[a.top]=data;}boolPopStack(stack&a,Elemtype&data)/*出栈*/{if(a.top==-l){cout<〈〃栈为空"〈〈endl;returnfalse;}data=a.p[a.top]:a.top—;returntrue;}voidDisplayStack(stack&a)/*展示钱中元素*/{if(a.top二=-l)cout<<"栈为空"<7、t〈〈"栈顶位置为"<8、(a);cout<
7、t〈〈"栈顶位置为"<8、(a);cout<
8、(a);cout<
此文档下载收益归作者所有