资源描述:
《栈的基本操作实验报告》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划栈的基本操作实验报告 实验二堆栈和队列基本操作的编程实现 【实验目的】 堆栈和队列基本操作的编程实现 要求: 堆栈和队列基本操作的编程实现,掌握堆栈和队列的建立、进栈、出栈、进队、出队等基本操作的编程实现,存储结构可以在顺序结构或链接结构中任选,也可以全部实现。也鼓励学生利用基本操作进行一些应用的程序设计。 【实验性质】 验证性实验 【实验内容】 内容: 把堆栈和队列的顺序存储和链表
2、存储的数据进队、出队等运算其中一部分进行程序实现。可以实验一的结果自己实现数据输入、数据显示的函数。 利用基本功能实现各类应用,如括号匹配、回文判断、事物排队模拟、数据逆序生成、多进制转换等。 【实验分析、说明过程】 【思考问题】目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划 【实验小结】(总结本次实验的重难点及心得
3、、体会、收获) 【附录-实验代码】 实现栈的基本操作的代码实现 二实验目的 掌握栈的基本操作 三实习要求 认真阅读书上给出的算法 编写程序并独立调试 四、给出线性表的抽象数据类型 ADTStack{ 数据对象:D={ai
4、ai∈ElemSet,i=1,2,…,n,n≥0} 数据关系:R1={
5、ai-1,ai∈D,i=1,2,…,n} 约定a1为站定栈顶,an为栈底。 基本操作: InitStack(&S); 操作结果:创造一个空栈S DestroyStack(&S); 初始条件:
6、栈S已存在 操作结果:栈S被销毁 ClearStack(&S); 初始条件:栈S已存在目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划 操作结果:将S清为空栈 StackEmpty(S); 初始条件:栈S已存在 操作结果:若S为空栈,则返回TURE,否则FALSE StackLength(S); 初始条件:栈
7、S已存在 操作结果:返回S的元素个数,即栈的长度 GetTop(S,&e); 初始条件:栈S已存在且非空 操作结果:用e返回S的栈顶元素 Push(&S,e); 初始条件:栈S已存在 操作结果:插入元素e为新的栈顶元素 Pop(&S,&e); 初始条件:栈S已存在且非空 操作结果:删除S的栈顶元素,并用e返回其值 StackTraverse(S,visit); 初始条件:栈S已存在且非空 操作结果:从栈底到栈顶依次对S的每个数据元素调用函数visit。一旦visit失败,则操作失败 五
8、、详细设计 1、给出本数据的存储结构定义及栈的定义目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划 #defineTRUE1 #defineFALSE0 #defineOK1 #defineERROR0 #defineNULL0 #defineOVERFLOW-2 实现栈的抽象数据类型如下: 链式存储实现的抽
9、象数据类型如下: 2.运算的函数声明: StatusInitStack(SqStack&S);//构造造一个空栈S StatusDestroyStack(SqStack&S);//销毁栈S StatusClearStack(SqStack&S);//重置栈S StatusStackEmpty(SqStackS);//判断栈S是否为空 StatusStackLength(SqStackS);//求栈长 StatusGetTop(SqStackS,SElemType&e);//用e返回栈顶元素 Sta
10、tusPush(SqStack&S,SElemTypee);//插入元素e为新的栈顶元素 StatusPop(SqStack&S,SElemType&e);//删除栈顶元素,并用e返回其值 StatusStackTraverse(SqStackS);//从栈底到栈顶依次调用visit函数目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提