


下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、顺序栈的各种基本运算实验内容与要求:编写一个程序,实现顺序栈的各种基本运算,并在基础上完成以下功能1)初始化顺序栈;2)判断顺序栈是否为空;3)依次进栈元素 a,b,c,d,e4)判断顺序栈是否为空;5)输出栈长度;6)输出从栈顶到栈底的元素;7)读出栈顶元素;8)删除栈顶元素;9)输出从栈顶到栈底的元素;10)判断顺序栈是否为空;11)释放栈。代码如下:#include<>#include<>#include<>#define TRUE1#define FALSE 0#define OK 1#define ERROR 0#define NULL 0 #de
2、fine OVERFLOW -2 typedef int Status;typedef char SElemType;Status visit(SElemType e);#define STACK_INIT_SIZE 100 /#define STACKINCREMENT 10 / typedef struct SElemType *base; /SElemType *top;/int stacksize;/位栈存储空间的初始分配量存储空间分配增量存储数据元素的数组栈顶指针当前分配的栈空间大小 , 以 sizeof(SElemType)为单SqStack;Status InitStack (S
3、qStack &S) / 构造一个空栈 S= (SElemType *)malloc(STACK_INIT_SIZE * sizeof(SElemType);if (! exit (OVERFLOW);一 J= STACK_INIT_SIZE;return OK;/ InitStackStatus DestroyStack (SqStack &S) / 销毁栈 Sfree;=NULL;=NULL;=0;return OK;/ DestroyStackStatus StackEmpty (SqStack S) / 判断栈 S 是否为空if=return TRUE;elseretu
4、rn FALSE;/ StackEmptyStatus Push (SqStack &S, SElemType e) / 插入元素 e 为新的栈顶元素if - >= / 栈满,追加存储空间= (SElemType *) realloc,+ STACKINCREMENT) * sizeof (SElemType);if (! exit (OVERFLOW); /存储分配失败= + ;+= STACKINCREMENT;*+ = e;return OK;/ Pushint StackLength (SqStack S) / 返回 S 的元素个数,即栈的长度return StackLe
5、ngthStatus GetTop (SqStack S, SElemType &e) / 若栈不空,则用 e 返回 S 的栈顶元素if= return ERROR;e = *;return OK;/ GetTopStatus Pop (SqStack &S, SElemType &e) / 若栈不空,则删除 S 的栈顶元素 if= return ERROR;e= * ;return OK;/ PopStatus StackTraverse (SqStack S, Status( *visit)(SElemType) / 遍历栈while!=visit(*;return
6、 OK;/ StackTraverse void main() / 主函数SElemType e;SqStack S;printf("(1) 初始化顺序栈。 n");InitStack(S);printf("(2) 判断顺序栈是否为空 :n");StackEmpty(S);printf("(3) 依次进栈元素 a,b,c,d,e:n");Push(S,'a');Push(S,'b');Push(S,'c');Push(S,'d');Push(S,'e');
7、printf("(4) 判断顺序栈是否为空 :n");StackEmpty(S);printf("(5) 输出栈长度 :%dn",StackLength(S);printf("(6) 输出从栈顶到栈底的元素 :n");StackTraverse(S,visit);printf("(7) 读出栈顶元素 :%dn",GetTop(S,e);printf("(8)删除栈顶元素 :%dn",Pop(S,e);printf("(9)输出从栈顶到栈底的元素 :n");StackTraver
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度新股东入资生物制药产业合作协议
- 2025年度电子商务平台员工劳务外包及运营合同
- 二零二五年度长租公寓退租服务保障协议
- 二零二五年度餐饮连锁生意合作合同范本
- 房产证抵押贷款合同抵押物管理协议(2025年度)
- 二零二五年度精装高层购房定金合同
- 2025年度私人宅基地买卖转让协议书及配套设施建设补充协议
- 2025年度租房押金监管及退还标准合同
- 二零二五年度文化产业投资入股协议
- 2025年黑龙江货运从业资格证的试题
- 《合同能源管理介绍》课件
- 临水临电管理制度
- 水准仪使用方法及原理课件
- 机动绞磨安全操作规程范本
- 初中体育与健康八年级全一册第一章 体育与健康理论知识科学发展体能
- 桥梁工程地基与基础的试验检测-钻(挖)孔灌注桩检测
- DL-T 2578-2022 冲击式水轮发电机组启动试验规程
- 兆欧表的使用课稿
- 劳动教育-专题一崇尚劳动(劳动的意义)
- 自然辩证法概论-第4章(2018新大纲)
- 23年-制袋车间管理制度
评论
0/150
提交评论