栈的顺序表示和实现(共8页).doc





《栈的顺序表示和实现(共8页).doc》由会员分享,可在线阅读,更多相关《栈的顺序表示和实现(共8页).doc(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上数学与计算科学学院实 验 报 告实验项目名称 栈的顺序表示和实现 所属课程名称 数据结构 实 验 类 型 验证型 实 验 日 期 2013.11.14 班 级 信计1201 学 号 9 姓 名 成 绩 一、实验概述:【实验目的】掌握栈的特点及顺序栈的基本运算【实验原理】1、栈是限定仅在表尾插入或删除操作的线性表,栈的修改是按后进先出的原则进行的2、栈的顺序存储表示:#define STACK_INIT_SIZE 6 /存储空间初始分配量#define STACKINCREMENT 2 /存储空间分配增量typedef structSElemType *base; /在
2、栈构造之前和销毁之后,base的值为NULLSElemType *top; /栈顶指针int stacksize; /当前分配的存储空间,以元素为单位SqStack;【实验环境】VC + 6.0二、实验内容:【实验方案】编写主函数,调用栈的初始化建空栈、取栈顶元素、进栈以及出栈的算法,调制运行,得出结果。【实验过程】(实验步骤、记录、数据、分析)1、输入初始化建空栈、取栈顶元素、进栈、出栈算法和主函数:/栈的顺序存储表示#define STACK_INIT_SIZE 6; /存储空间初始分配量#define STACKINCREMENT 2; /存储空间分配增量typedef structSE
3、lemType *base; /在栈构造之前和销毁之后,base的值为NULLSElemType *top; /栈顶指针int stacksize; /当前分配的存储空间,以元素为单位SqStack;Status InitStack(SqStack &S)/构造一个空栈S/InitStackStatus GetTop(SqStack S,SElemType &e)/若栈不空,则用e返回S的栈顶元素,并返回OK;否则返回ERROR/GetTopStatus Push(SqStack &S,SElemType e)/插入元素e为新的栈顶元素/PushStatus Pop(SqStack &S,SE
4、lemType &e)/若栈顶不空,则删除S的栈顶元素,用e返回其值,并返回OK;否则返回ERROR/Popvoid main()2、调试:发现错误:在以下编码中出现多个错误:Status InitStack(SqStack &S)S.base=(SElemType *)malloc(STACK_INIT_SIZE * sizeof(SElemType);syntax error : missing ) before ;;syntax error : );illegal indirection;这三个错误主要是由于前面栈的顺序存储表示编码中出现错误,应把“#define STACK_INIT_
5、SIZE 6; #define STACKINCREMENT 2;”中的两个分号去掉;修改之后,继续调试,又发现一个错误: Sqstack : undeclared identifier即Sqstack无定义,查看前面编码发现,是对SqStack进行定义,故这里也要与之相应,需把Sqstack改为SqStack;3、调试到无任何错误,运行:因栈的存储空间初始化分配量为6,故需输入六个数字“2 3 56 7 7 5”,按回车键,得到“2 3 56 7 7 5;e=5”其中e=5表示栈顶元素为5,由此完成了栈的初始化建空栈、取栈顶元素算法;接着输入一个数“23”,表示要插入的元素,回车,得到“2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 顺序 表示 实现

限制150内