数据结构--顺序栈的基本运算

数据结构--顺序栈的基本运算

ID:39858594

大小:117.51 KB

页数:13页

时间:2019-07-13

数据结构--顺序栈的基本运算_第1页
数据结构--顺序栈的基本运算_第2页
数据结构--顺序栈的基本运算_第3页
数据结构--顺序栈的基本运算_第4页
数据结构--顺序栈的基本运算_第5页
资源描述:

《数据结构--顺序栈的基本运算》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、《数据结构》上机报告_______年____月____日姓名__________学号___________同组成员___________1.实验题目及要求实验一:顺序栈的各种基本运算编写一个程序,实现顺序栈的各种基本运算,并在基础上完成以下功能:1)初始化顺序栈;2)判断顺序栈是否为空;3)依次进栈元素a,b,c,d,e;4)判断顺序栈是否为空;5)输出栈长度;6)输出从栈顶到栈底的元素;7)读出栈顶元素;8)删除栈顶元素;9)输出从栈顶到栈底的元素;10)判断顺序栈是否为空;11)释放栈。2.需求分析首先初始化顺序栈(1)判断顺序队列

2、S是否为空输入参数的格式和合法取值范围:若顺序栈内无元素则输出顺序栈为空,反之输出顺序栈为非空。输出格式:判断顺序栈是否为空:测试数据:初始化顺序表后,显示顺序栈为空。(2)依次进栈元素a,b,c,d,e输入参数的格式和合法取值范围:依次进栈元素a,b,c,d,e并用逗号分隔。输出格式:依次进栈元素a,b,c,d,e。测试数据:依次进队列元素a,b,c,d,e后,顺序栈中包含a,b,c,d,e五个元素。(3)输出栈的长度输入参数的格式和合法取值范围:此时顺序栈中包含a,b,c,d,e五个元素,故长度为5。输出格式:输出栈长度:5。测试数

3、据:此时顺序栈中的元素为a,b,c,d,e。所以屏幕显示输出栈长度:5。(4)输出从栈顶到栈底的元素输入参数的格式和合法取值范围:进栈顺序依次为a,b,c,d,e,故栈底为a,栈顶为e,则栈顶到栈底元素依次为e,d,c,b,a。输出格式:输出从栈顶到栈底的元素:edcba测试数据:进栈顺序依次为a,b,c,d,e,故栈底为a,栈顶为e,则栈顶到栈底元素依次为e,d,c,b,a。(1)读出栈顶元素输入参数的格式和合法取值范围:顺序栈中元素从栈顶到栈底依次为e,d,c,b,a。故栈顶为e。输出格式:读出栈顶元素:e。测试数据:顺序栈中元素从

4、栈顶到栈底依次为e,d,c,b,a。故屏幕显示读出栈顶元素为e。(2)删除栈顶元素输入参数的格式和合法取值范围:顺序栈中元素从栈顶到栈底依次为e,d,c,b,a。故栈顶为e,删除e。输出格式:删除栈顶元素e。测试数据:顺序栈中元素从栈顶到栈底依次为e,d,c,b,a。进行删除栈顶元素操作,即删除元素e。(3)输出从栈顶到栈底的元素输入参数的格式和合法取值范围:此时删除了栈顶元素e,栈顶元素变为d,故顺序栈中元素从栈顶到栈底依次为d,c,b,a,输出格式:输出从栈顶到栈底的元素:dcba测试数据:此时栈顶到栈底元素依次为d,c,b,a,故

5、屏幕显示输出从栈顶到栈底的元素:dcba。2.概要设计(1)给出所用抽象数据类型的逻辑定义。ADTStack{数据对象:D={ai

6、ai∈ElemSet,i=1,2,…,n,n≥0}结构关系:R={

7、ai-1,ai∈D,i=2,…,n}基本操作:InitStack(&S)操作前提:S是一个未初始化的空栈。操作结果:构造一个空栈S。DestroyStack(&S)操作前提:栈S已存在。操作结果:栈S清被摧毁。StackEmpty(S)操作前提:栈S已存在。操作结果:若栈S为空栈,则返回TURE,否则返回FALSE。Sta

8、ckJudgement操作前提:栈S已存在。操作结果:若栈S为空栈,则输出是,没否则输出否。StackLength(S)操作前提:栈S已存在。操作结果:返回S的元素个数。Push(&S,e)操作前提:栈S已存在。操作结果:插入元素e为新的栈顶元素。GetTop(S,&e)操作前提:栈S已存在且非空。操作结果:用e返回S的栈顶元素。Pop(&S,&e)操作前提:栈S已存在且非空。操作结果:删除S的栈顶元素,并用e返回其值。StackTraverse(S,visit())操作前提:栈S已存在且非空。操作前提:从栈底到栈顶依次对S的每个数据元

9、素调用函数visit()。一旦visit()失败,则操作失败。(1)画出各模块之间的调用关系图。mainDestroyStackInitStackStackEmptyStackJudgementStackLengthPushGetTopPopStackTraverse(2)用伪码给出主程序的主要处理过程。#include#include#include#defineTRUE1#defineFALSE0#defineOK1#defineERROR0#defineNULL0#defi

10、neOVERFLOW-2typedefintStatus;typedefcharSElemType;Statusvisit(SElemTypee);#defineSTACK_INIT_SIZE100#def

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

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

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