国开最新《数据结构(本)》形考任务实验报告:实验3:栈、队列、递归设计实验报告.docx
《国开最新《数据结构(本)》形考任务实验报告:实验3:栈、队列、递归设计实验报告.docx》由会员分享,可在线阅读,更多相关《国开最新《数据结构(本)》形考任务实验报告:实验3:栈、队列、递归设计实验报告.docx(6页珍藏版)》请在第一文库网上搜索。
1、数据结构课程实验报告学生姓名学号班级指导老师实验名称栈、队列、递归设计实验成绩实验报告实验概述实验目的:编写一个算法,输出指定栈中的栈底元素,并使得原栈中的元素倒置实验要求:(1)正确理解栈的先进后出的操作特点,建立初始栈,通过相关操作显示栈底元素。(2)程序中要体现出建栈过程和取出栈底元素后恢复栈的入栈过程,按堆栈的操作规则打印结果栈中的元素。实验基本原理:实验内容实验设计思路、步骤和方法等:设计思路(1)采用顺序栈,即用数组存储栈元素。(2)设定一个临时队列,用来存放从初始栈中出栈的元素。(3)取出栈底元素后,将队列中的元素逐一出队并压入初始栈中0实验设计程序代码如下:/*实验栈和队列的基
2、本操作*/#inc1ude#inc1ude#defineMaxSizeIOOtypedefintE1emType;typedefstruct(E1emTypedataMaxSize;inttop;*栈顶指针*/SeqStack;*定义顺序栈typedefstructE1emTypedataMaxSize;intfront,rear;*队头和队尾指针*/SeqQueue;/*定义顺序队列*/voidInitStack(SeqStack*s);/*初始化栈*/intStaekErnPIy(SeqS1aek*s);/*判栈空*/intSuckFu1KSeqStack*s);/*判栈满*/voidPu
3、sh(SeqStack*s,E1emTypex);/*进栈*/EIemTypePop(SeqStack*s);/*出栈*/EIemTypeGe1Top(SeqStack*s);/*取栈顶元素*/voidDispStack(SeqStack*s);*依次输出从栈顶到栈底的元素*/voidDispBottom(SeqStack*s);/*输出栈底元素*/voidInitQueue(SeqQueue*sq);/*初始化队列intQueueEmpty(SeqQueue*sq);/*判队空*/voidInQueue(SeqQueue*sq,E1emTypex);/*循环队列入队*/E1emTypeOut
4、Queue(SeqQueue*sq,E1emTypex);/*循环队列出队E1emTypeGetQueue(SeqQueue*sq);/*取队头元素*/voidmain()(SeqStack*s;SeqQueue*sq;E1emTypex;intn,i;Printf(初始化栈sn0);s=(SeqStack*)ma11oc(sizeof(SeqStack);InitStack(S);Printf(栈为sn”,(StackEmpty(S)?空:非空);Printf(”(3)输入要进栈的数据个数:);scanf(%d,Printf(“依次输入进栈的d个整数:,n);/*数据依次进栈*/for(i=
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构本 最新 数据结构 任务 实验 报告 队列 递归 设计