



版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、一、设计人员相关信息1. 设计者姓名、学号和班号: 12 地信李晓婧2. 设计日期: 2021.3. 上机环境: VC+二、程序设计相关信息1.实验题目:编写一个程序,实现顺序栈(假设栈中元素类型为char)的各类大体运算,并在此基础上设计一个程序,完成如下功能:( 1)初始化栈( 2)判定栈是不是为空( 3)依次进栈元素 a,b,c,d,e( 4)判定栈是不是为空( 5)输出栈长度( 6)输出从栈顶到栈底元素( 7)输出出栈序列( 8)判定栈是不是为空( 9)释放栈2. 实验项目组成:栈的初始化、销毁、判定是不是为空、进栈、出栈、取栈顶元素。3. 实验项目的程序结构(程序中的函数挪用关系图)
2、 :MainInitStackDestroyStackStackEmptyPushPopGetPop4. 实验项目包括的各个文件中的函数的功能描述:( 1)初始化栈 InitStack:成立一个新的空栈,事实上将栈顶指针指向-1 即可。( 2)销毁栈 DestroyStack:释放栈占用的存储空间( 3)判定栈是不是为空 StackEmpty:栈为空的条件是 s->op=-1。( 4)进栈 Push:在栈不满的条件下,先将栈顶指针增 1,然后在栈顶指针指向位置插入元素 e。( 5)出栈 Pop:在栈不为空的条件下, 先将栈顶元素赋给 e,然后将栈顶指针减1.( 6)取栈顶元素 GetTo
3、p:在栈不为空的条件下,将栈顶元素赋给e。5. 算法描述或流程图:#include ""#include ""#include<>#define MaxSize 50typedef char ElemType;typedef structElemType dataMaxSize;int top;/* 栈顶指针 */SqStack;/概念顺序栈类型void InitStack(SqStack*&s)/* 初始化 */s=(SqStack*)malloc(sizeof(SqStack);s->top=-1;/栈顶指针置为-1void
4、 DestroyStack(SqStack *&s)/* 销毁 */free(s);int StackEmpty(SqStack*s)/*判定是不是为空 */return(s->top=-1);int push(SqStack *&s,ElemType a,int n)int i;if(s->top=MaxSize-1)/栈满的情形,即栈上溢出return 0;for(i=0;i<n;i+)s->top+;/栈顶指针增 1s->datas->top=ai;/元素 e 放在栈顶指针处return 1;int Pop(SqStack*&s
5、,ElemType &e)/* 出栈一个元素 */if(s->top=-1) /栈为空的情形,即栈下溢出 return 0;e=s->datas->top;/取栈顶元素s->top-;/ 栈顶指针减 1return 1;int GetTop(SqStack *s,ElemType &e)/*取栈顶元素 */if(s->top=-1) /栈为空的情形,即栈下溢出 return 0;e=s->datas->top;/取栈顶元素return 1;int StackLength(SqStack *s)/*求栈长度 */return(s->
6、top+1);void DispStack(SqStack *s)int i;for(i=s->top;i>=0;i-)printf("%c",s->datai);printf("n");void main()int i,j;ElemType str5='a','b','c','d','e'/ 概念字符数组SqStack *st;/概念栈InitStack(st);/* 初始化 */i=StackEmpty(st);/判定栈是不是为空if(i=0)printf(" 顺序栈非空 n");elseprintf(" 顺序栈为空 n");push(st,str,5);/进栈j=StackEmpty(st);if(j=0)printf(" 顺序栈非空 n");elseprintf(" 顺序栈为空 n");printf(" 栈长度为: %dn",StackLength(st); /输出栈长度printf(" 出栈序列 :n");DispStack(st);/输出栈StackEmpty(st);DestroyStack(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中国旋转感应门数据监测研究报告
- 2025年中国文化胶水市场调查研究报告
- 耳真菌病健康宣讲
- 2025至2031年中国红心结套玩具行业投资前景及策略咨询研究报告
- 新疆喀什第二中学2025届高三第三次调研考试(物理试题)试卷含解析
- 肇庆市实验中学高中历史二教案:第课新潮冲击下的社会生活
- 2025至2031年中国粘贴碳纤维织物胶行业投资前景及策略咨询研究报告
- 新疆师范高等专科学校《数学分析(二)》2023-2024学年第一学期期末试卷
- 福建省部分地市2025届高中毕业班4月诊断性质量检测语文试题 附答案
- 2025至2031年中国空白CD光盘行业投资前景及策略咨询研究报告
- 医疗美容诊所规章制度上墙
- CJT 216-2013 给水排水用软密封闸阀
- CJ-T250-2018建筑排水用高密度聚乙烯(HDPE)管材及管件
- 大学遗传学期末考试题库和答案
- 2024注册信息安全专业人员CISP培训讲义全集
- 心脏介入术后穿刺部位并发症的预防及护理讲解
- DB64 1996-2024 燃煤电厂大气污染物排放标准
- 智能化屠宰场建设方案设计
- 学校结核病疫情调查与应急处置1
- 老人接种疫苗科普知识讲座
- 经肛型肠梗阻导管
评论
0/150
提交评论