2024年4月12日发(作者:)
国家开放大学《数据结构》课程实验报告
(实验3 栈、队列、递归设计)
学生姓名
班 级
实验名称
实
验
概
述
学 号
指导老师
实验成绩
实验报告
实验目的:
编写一个算法,输出指定栈中的栈底元素,并使得原栈中的元素倒置。
实验要求:
(1)正确理解栈的先进后出的操作特点,建立初始栈,通过相关操作显示栈底元素。
(2)程序中要体现出建栈过程和取出栈底元素后恢复栈的入栈过程,按堆栈的操作
规则打印结果栈中的元素。
实验基本原理:
(1)采用顺序栈,即用数组存储栈元素。
(2)设定一个临时队列,用来存放从初始栈中出栈的元素。
(3)取出栈底元素后,将队列中的元素逐一出队并压入初始栈中。
程序代码:
/*实验2.1 栈和队列的基本操作*/
实
验
内
容
#include
#include
#define MaxSize 100
typedef int ElemType;
typedef struct
{
ElemType data[MaxSize];
int top; /*栈顶指针*/
} SeqStack; /*定义顺序栈*/
typedef struct
{
ElemType data[MaxSize];
int front,rear; /*队头和队尾指针*/
} SeqQueue; /*定义顺序队列*/
void InitStack(SeqStack *s); /*初始化栈*/
int StackEmpty(SeqStack *s); /*判栈空*/
int StackFull(SeqStack *s); /*判栈满*/
void Push(SeqStack *s,ElemType x); /*进栈*/
ElemType Pop(SeqStack *s); /*出栈*/
ElemType GetTop(SeqStack *s); /*取栈顶元素*/
void DispStack(SeqStack *s); /*依次输出从栈顶到栈底的元素*/
void DispBottom(SeqStack *s); /*输出栈底元素*/
void InitQueue(SeqQueue *sq); /*初始化队列*/
发布者:admin,转转请注明出处:http://www.yc00.com/web/1712852371a2134722.html
评论列表(0条)