下载此文档

栈的基本操作实验报告.docx


文档分类:IT计算机 | 页数:约14页 举报非法文档有奖
1/14
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/14 下载此文档
文档列表 文档介绍
栈的基本操作实验报告实验二堆栈和队列基本操作的编程实现【实验目的】堆栈和队列基本操作的编程实现要求: 堆栈和队列基本操作的编程实现,掌握堆栈和队列的建立、进栈、出栈、进队、出队等基本操作的编程实现,存储结构可以在顺序结构或链接结构中任选,也可以全部实现。也鼓励学生利用基本操作进行一些应用的程序设计。【实验性质】验证性实验【实验内容】内容: 把堆栈和队列的顺序存储和链表存储的数据进队、出队等运算其中一部分进行程序实现。可以实验一的结果自己实现数据输入、数据显示的函数。利用基本功能实现各类应用,如括号匹配、回文判断、事物排队模拟、数据逆序生成、多进制转换等。【实验分析、说明过程】【思考问题】【实验小结】(总结本次实验的重难点及心得、体会、收获) 【附录-实验代码】实现栈的基本操作的代码实现二实验目的掌握栈的基本操作三实习要求认真阅读书上给出的算法编写程序并独立调试四、给出线性表的抽象数据类型 ADTStack{ 数据对象:D={ai|ai∈ElemSet,i=1,2,…,n,n≥0} 数据关系:R1={|ai-1,ai∈D,i=1,2,…,n} 约定a1为站定栈顶,an为栈底。基本操作: InitStack(&S); 操作结果:创造一个空栈S DestroyStack(&S); 初始条件:栈S已存在操作结果:栈S被销毁 ClearStack(&S); 初始条件:栈S已存在操作结果:将S清为空栈 StackEmpty(S); 初始条件:栈S已存在操作结果:若S为空栈,则返回TURE,否则FALSE StackLength(S); 初始条件:栈S已存在操作结果:返回S的元素个数,即栈的长度 GetTop(S,&e); 初始条件:栈S已存在且非空操作结果:用e返回S的栈顶元素 Push(&S,e); 初始条件:栈S已存在操作结果:插入元素e为新的栈顶元素 Pop(&S,&e); 初始条件:栈S已存在且非空操作结果:删除S的栈顶元素,并用e返回其值 StackTraverse(S,visit); 初始条件:栈S已存在且非空操作结果:从栈底到栈顶依次对S的每个数据元素调用函数visit。一旦visit失败,则操作失败五、详细设计 1、给出本数据的存储结构定义及栈的定义#RUE1 #defineFALSE0 #defineOK1 #defineERROR0 #defineNULL0 #defineOVERFLOW-2 实现栈的抽象数据类型如下: 链式存储实现的抽象数据类型如下: : StatusInitStack(SqStack&S);//构造造一个空栈S StatusDestroyStack(SqStack&S);//销毁栈S StatusClearStack(SqStack&S);//重置栈S StatusStackEmpty(SqStackS);//判断栈S是否为空 StatusStackLength(SqStackS);//求栈长 StatusGetTop(SqStackS,SElemType&e);//用e返回栈顶元素 StatusPush(SqStack&S,SElemTypee);//插入元素e为新的栈顶元素 StatusPop(SqStack&S,SElemType&e);//删除栈顶元素,并用e返回其值 StatusStackTraverse(SqStackS);//从栈底到栈顶依次调用visit函数 StatusInitStack(SqStack&S) {//构造一个空栈S =(SElemType*)malloc(STACK_INIT_SIZE*sizeof(SElemType));if(!)exit(OVERFLOW);//存储分配失败=;=STACK_INIT_SIZE;returnOK; }//InitStack StatusDestroyStack(SqStack&S) {//销毁栈S if(!=NULL){free();==NULL; } =0;returnOK; StatusClearStack(SqStack&S) {//重置栈S } StatusStackEmpty(SqStackS) {//判断栈S是否为空 if(==) } returnTRUE;elsereturnFALSE;=;returnOK; StatusStackLength(SqStackS) {//求栈长 inti;SElemType*p;i=0;p=;while(p!=){p--;i++;}returni; }//stackLength StatusGetTop(SqStackS,SElemType&e) {//用e返回栈顶元素 if(==)returnERROR; e=*(); returnOK

栈的基本操作实验报告 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数14
  • 收藏数0 收藏
  • 顶次数0
  • 上传人rdwiirh
  • 文件大小19 KB
  • 时间2019-02-22
最近更新