栈的顺序表示和实现.doc

栈的顺序表示和实现.doc

ID:56194580

大小:462.50 KB

页数:7页

时间:2020-03-19

栈的顺序表示和实现.doc_第1页
栈的顺序表示和实现.doc_第2页
栈的顺序表示和实现.doc_第3页
栈的顺序表示和实现.doc_第4页
栈的顺序表示和实现.doc_第5页
资源描述:

《栈的顺序表示和实现.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、数学与计算科学学院实验报告实验项目名称栈的顺序表示和实现所属课程名称数据结构实验类型验证型实验日期2013.11.14班级信计1201学号201253100109姓名成绩6一、实验概述:【实验目的】掌握栈的特点及顺序栈的基本运算【实验原理】1、栈是限定仅在表尾插入或删除操作的线性表,栈的修改是按后进先出的原则进行的2、栈的顺序存储表示:#defineSTACK_INIT_SIZE6//存储空间初始分配量#defineSTACKINCREMENT2//存储空间分配增量typedefstruct{SElemType*base;//

2、在栈构造之前和销毁之后,base的值为NULLSElemType*top;//栈顶指针intstacksize;//当前分配的存储空间,以元素为单位}SqStack;【实验环境】VC++6.0二、实验内容:【实验方案】编写主函数,调用栈的初始化建空栈、取栈顶元素、进栈以及出栈的算法,调制运行,得出结果。【实验过程】(实验步骤、记录、数据、分析)1、输入初始化建空栈、取栈顶元素、进栈、出栈算法和主函数://栈的顺序存储表示#defineSTACK_INIT_SIZE6;//存储空间初始分配量#defineSTACKINCREME

3、NT2;//存储空间分配增量typedefstruct{SElemType*base;//在栈构造之前和销毁之后,base的值为NULL6SElemType*top;//栈顶指针intstacksize;//当前分配的存储空间,以元素为单位}SqStack;StatusInitStack(SqStack&S){//构造一个空栈S………………}//InitStackStatusGetTop(SqStackS,SElemType&e){//若栈不空,则用e返回S的栈顶元素,并返回OK;否则返回ERROR………………}//GetTo

4、pStatusPush(SqStack&S,SElemTypee){//插入元素e为新的栈顶元素………………}//PushStatusPop(SqStack&S,SElemType&e){//若栈顶不空,则删除S的栈顶元素,用e返回其值,并返回OK;否则返回ERROR………………}//Popvoidmain(){………………}2、调试:发现错误:在以下编码中出现多个错误:StatusInitStack(SqStack&S){S.base=(SElemType*)malloc(STACK_INIT_SIZE*sizeof(SEl

5、emType));①syntaxerror:missing')'before';';②syntaxerror:')';③illegalindirection;这三个错误主要是由于前面栈的顺序存储表示编码中出现错误,应把6“#defineSTACK_INIT_SIZE6;#defineSTACKINCREMENT2;”中的两个分号去掉;修改之后,继续调试,又发现一个错误:④'Sqstack':undeclaredidentifier即Sqstack无定义,查看前面编码发现,是对’SqStack’进行定义,故这里也要与之相应,需把

6、’Sqstack’改为’SqStack’;3、调试到无任何错误,运行:因栈的存储空间初始化分配量为6,故需输入六个数字“2356775”,按回车键,得到“2356775;e=5”其中e=5表示栈顶元素为5,由此完成了栈的初始化建空栈、取栈顶元素算法;接着输入一个数“23”,表示要插入的元素,回车,得到“23567723;e=23;23”,此时“23”已进栈,栈顶元素变为e=23,因存储空间为6,而栈的修改是按后进先出原则进行,所以栈顶元素“23”先出栈,由此完成了栈的进栈、出栈算法;最终栈的顺序表示和实现得以完成。【实验结论】

7、(结果)【实验小结】(收获体会)这次上机,顺利的完成了栈的顺序表示和实现的上机实验任务,但是没有能够独立编写主函数,而是需要在老师和同学的帮助下才能够编写出来,所以自己还要继续努力,争取学会自己编写主函数。6三、指导教师评语及成绩:评语评语等级优良中及格不及格1.实验报告按时完成,字迹清楚,文字叙述流畅,逻辑性强2.实验方案设计合理3.实验过程(实验步骤详细,记录完整,数据合理,分析透彻)4实验结论正确.成绩:指导教师签名:批阅日期:附录1:源程序#include#include#defi

8、neTRUE1#defineFALSE0#defineOK1#defineERROR0#defineINFEASIBLE-1#defineOVERFLOW-2typedefintStatus;typedefintSElemType;#defineSTACK_INIT_SIZE

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

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

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