数据结构栈和队列上机报告(7页).docx
《数据结构栈和队列上机报告(7页).docx》由会员分享,可在线阅读,更多相关《数据结构栈和队列上机报告(7页).docx(7页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-数据结构栈和队列上机报告-第 7 页 数据结构 栈和队列一 上机的目的和要求实验目的:1.掌握实现栈/队列的基本操作方法2.掌握栈的基本操作:建栈,Push,Pop等运算在顺序存储上的实现3.掌握队列的基本操作:建队列,入队,出队等运算在顺序存储结构上的实现队列的实验参照栈编程实现。实验报告要求:1. 上机前完成所有的函数编写2.实验记录部分填写编写主函数调用所写所有函数的屏幕输出3.实验总结部分填写对该次实验所编写函数的运行情况,和在实验过程中对栈的认识和实现情况 二 基本知识和原理栈和队列是两种常用的数据结构,栈和队列是操作受限的线性表,栈和队列的数据元素具有单一的前驱和后继的线性关系;
2、栈和队列又是两种重要的抽象数据类型。栈是限定在表尾进行插入和删除操作的线性表允许插入和删除的一端为栈顶,另一端为栈底,出栈元素只能是栈顶元素,后进先出,相邻元素具有前驱与后继关系。队列是只允许在一端进行插入操作,在另一端进行删除操作的线性表。允许插入的一端为队尾,允许删除的一端为队头,先进先出,相邻元素具有前驱与后继关系。 三 程序算法分析及实现代码#include stdio.h#include conio.h#define MaxSize 100 /*栈中的元素的最大个数*/typedef int ElemType;typedef struct ElemType dataMaxSize;/
3、*存放堆栈的数组*/ int top;/*栈顶元素*/Stack,*S;/*堆栈的初始化*/void InitStack(Stack *S) /*指向的是最顶端的元素 取值范围为从0MaxSize-1 为-1时说明为空栈*/ S-top=-1; int StackEmpty(SqStack *s) /判断是否为空 if(s-top=s-base)return TRUE;elsereturn 0;int GetTop(SqStack* s,int *e) /取栈顶 /若栈不空,则用e返回S的栈顶元素,并返回OK;否则返回ERRORif(s-top=s-base)return ERROR;*e=*
4、(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;否则返回
5、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(nt*);printf(nt* 请你输入相应的操作序号进行操作 *);printf(nt*1.是否空 *);printf(nt*2.取栈顶元素 *);printf(nt*3.进栈 *);printf(nt*4.出栈 *);printf(nt*0. 退出 *n); printf(t*);printf(n请选择功能:);scanf(%d
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 队列 上机 报告
限制150内