- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构 栈和队列一 上机的目的和要求实验目的:1.??掌握实现栈/队列的基本操作方法2.??掌握栈的基本操作:建栈,Push,Pop等运算在顺序存储上的实现3.?掌握队列的基本操作:建队列,入队,出队等运算在顺序存储结构上的实现队列的实验参照栈编程实现。实验报告要求:1. 上机前完成所有的函数编写2.??实验记录部分填写编写主函数调用所写所有函数的屏幕输出3.??实验总结部分填写对该次实验所编写函数的运行情况,和在实验过程中对栈的认识和实现情况 二 基本知识和原理?栈和队列是两种常用的数据结构,栈和队列是操作受限的线性表,栈和队列的数据元素具有单一的前驱和后继的线性关系;栈和队列又是两种重要的抽象数据类型。?栈是限定在表尾进行插入和删除操作的线性表允许插入和删除的一端为栈顶,另一端为栈底,出栈元素只能是栈顶元素,后进先出,相邻元素具有前驱与后继关系。?队列是只允许在一端进行插入操作,在另一端进行删除操作的线性表。允许插入的一端为队尾,允许删除的一端为队头,先进先出,相邻元素具有前驱与后继关系。 三 程序算法分析及实现代码#include stdio.h#include conio.h#define MaxSize 100 /*栈中的元素的最大个数*/typedef int ElemType;typedef struct{ ElemType data[MaxSize];/*存放堆栈的数组*/ int top;/*栈顶元素*/}Stack,*S;/*堆栈的初始化*/void InitStack(Stack *S){ /*指向的是最顶端的元素 取值范围为从0~MaxSize-1 为-1时说明为空栈*/ S-top=-1;} int StackEmpty(SqStack *s)//判断是否为空 {if(s-top==s-base){return TRUE;}else{return 0;}}int GetTop(SqStack* s,int *e)//取栈顶 {//若栈不空,则用e返回S的栈顶元素,并返回OK;否则返回ERRORif(s-top==s-base){return ERROR;}*e=*(s-top-1);return 1;}int Push(SqStack *s,int e)//进栈{//插入元素e为新的栈顶元素if(s-top-s-base=s-stacksize){//栈满,追加存储空间 s-base=(int *)malloc(SIZE*sizeof(int));if(!s-base) exit(OVERFLOW); s-top=s-base + s-stacksize; s-stacksize +=SIZE; } *(s-top)++=e; return 1;}int Pop(SqStack *s ,int *e)//出栈{//若栈不空,则删除S的栈顶元素,用e返回其值,并返回OK;否则返回ERRORif(s-base == s-top)return ERROR; *e = *--s-top; return 1;}int main ( ){SqStack sq;InitStack(sq);int e;int N;int k;int n=0;Z:{printf(\n\t********************************************);printf(\n\t*** 请你输入相应的操作序号进行操作 ***);printf(\n\t***1.是否空 ***);printf(\n\t***2.取栈顶元素 ***);printf(\n\t***3.进栈 ***);printf(\n\t***4.出栈 ***);printf(\n\t***0. 退出 ***\n); printf(\t********************************************);printf(\n请选择功能:);scanf(%d,k);switch(k){case 1:if(StackEmpty(sq)){printf(该栈为空!);}else{printf(该栈非空!);}goto Z;break;case 2:GetTop(sq, e);printf(栈顶元素为:%d, e);goto Z;break;case 3:printf(请输入要进栈的元素:);scanf(%d, e);Push(sq, e);goto Z;break;case 4:Pop(sq,e);printf(%d, e);goto Z;break; case 0:exit
您可能关注的文档
- 动画专业本科毕业论文-浅谈动画中女性角色设计的情感表达-以毕业设计《学车》的学车女孩为例.docx
- 动画专业本科毕业论文-浅谈动画中女性角色设计的情感表达——以毕业设计《学车》的学车女孩为例.docx
- 动画专业本科毕业论文-谈非主流动画电影艺术形态魅力与现实意义--以毕业设计《圣诞奇妙夜》为例.doc
- 动画专业本科论文对迈克尔·度德威特动画作品的探究与学习——动画短片《晾衣者》的创作.doc
- 动画专业本科论文-对迈克尔度德威特动画作品的探究与学习--以动画短片《晾衣》为例.doc
- 给水管网课程设计-吉林省长春地区宽城区给水管网设计.doc
- 化工原理课程设计-填料吸收塔工艺设计.docx
- 机械设计基础课程设计-一级直齿圆柱齿轮减速器.doc
- 机械原理课程设计-牛头刨床主传动机构设计.doc
- 机械制造工艺学课程设计-齿轮减速器加工工艺及夹具设计.doc
最近下载
- TCNCIA 02015-2023 室内墙面无机涂料施工及验收规范.pdf VIP
- “真实无妄”与“开启民智”——由《申报》“杨乃武案”看中国近代报刊的媒介素养.pdf VIP
- 2024年矿业权评估师地质与矿业工程专业能力测试题及答案.docx VIP
- 弟子规正新版全文-带拼音-直接打印新版.pdf VIP
- 浙江省杭州市萧山区钱江片2024-2025学年八年级上学期期中联考语文试卷(含答案).pdf VIP
- 《庆祝新疆维吾尔自治区成立70周年》.ppt VIP
- 河北省市政工程消耗量定额-计算规则(2012).pdf VIP
- 桥梁施工安全—桥梁施工事故案例分析.pptx
- ACS抗栓治疗合并消化道出血的治疗策略.ppt VIP
- 《学前儿童社会教育》试题及答案2.doc VIP
原创力文档


文档评论(0)