数据结构栈和队列上机报告教程.docx

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构栈和队列上机报告教程

数据结构 栈和队列 一 上机的目的和要求 实验目的: 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;否则返回ERROR if(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;否则返回ERROR if(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*********

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档