文档详情

国家开放大学《数据结构》课程实验报告(实验3 ——栈、队列、递归设计)参考答案.pdf

发布:2024-12-28约1.05万字共6页下载文档
文本预览下载声明

博观而约取,厚积而薄发。——苏轼

国家开放大学《数据结构》课程实验报告

(实验3栈、队列、递归设计)

学生姓名学号

班级指导老师

实验名称实验成绩

实验报告

实验目的:

编写一个算法,输出指定栈中的栈底元素,并使得原栈中的元素倒置。

验实验要求:

概(1)正确理解栈的先进后出的操作特点,建立初始栈,通过相关操作显示栈底元素。

述(2)程序中要体现出建栈过程和取出栈底元素后恢复栈的入栈过程,按堆栈的操作

规则打印结果栈中的元素。

实验基本原理:

(1)采用顺序栈,即用数组存储栈元素。

(2)设定一个临时队列,用来存放从初始栈中出栈的元素。

(3)取出栈底元素后,将队列中的元素逐一出队并压入初始栈中。

程序代码:

/*实验2.1栈和队列的基本操作*/

实#includestdio.h

验#includestdlib.h

内#defineMaxSize100

容typedefintElemType;

typedefstruct

{

ElemTypedata[MaxSize];

inttop;/*栈顶指针*/

}SeqStack;/*定义顺序栈*/

typedefstruct

{

ElemTypedata[MaxSize];

intfront,rear;/*队头和队尾指针*/

}SeqQueue;/*定义顺序队列*/

voidInitStack(SeqStack*s);/*初始化栈*/

intStackEmpty(SeqStack*s);/*判栈空*/

intStackFull(SeqStack*s);/*判栈满*/

voidPush(SeqStack*s,ElemTypex);/*进栈*/

ElemTypePop(SeqStack*s);/*出栈*/

ElemTypeGetTop(SeqStack*s);/*取栈顶元素*/

voidDispStack(SeqStack*s);/*依次输出从栈顶到栈底的元素*/

voidDispBottom(SeqStack*s);/*输出栈底元素*/

voidInitQueue(SeqQueue*sq);/*初始化队列*/

博观而约取,厚积而薄发。——苏轼

intQueue

显示全部
相似文档