数据结构上机实验报告实验三栈和队列班 级: 13 级计本二班姓 名:杨宴强学 号: 201392130129 实验三栈和队列一、实验目的:⒈学习顺序栈的基本操作2
学习链栈的基本操作 3
学习循环队列基本操作 4
学习链队列基本操作二、实验内容:⒈顺序栈的基本运算 2
链栈的基本操作 3
循环队列的基本运算 4
链队列的基本运算三、实验步骤及结果:1:顺序栈#include"stdio
h" #include"stdlib
h" #define MAXSIZE 20 typedef struct { char data[MAXSIZE];//栈中元素存储空间int top;// 栈顶指针}SeqStack;// 顺序栈类型void Init_SeqStack(SeqStack **s)// 顺序栈初始化{ *s=(SeqStack*)malloc(sizeof(SeqStack));// 在主函数中申请栈空间(*s)->top=-1;// 置栈空标志} int Empty_SeqStack(SeqStack*s)// 判断栈是否为空{ if(s->top==-1)// 栈为空时return 1;//返回 1 else return 0;//返回 0 } void Push_SeqStack(SeqStack *s,char x)// 顺序栈入栈{ if(s->top==MAXSIZE-1)//判断是否栈满printf("Stack is full
\n");//栈已满else { s->top++;//s 指向下个节点s->data[s->top]=x;// 元素 x 压入栈 *s 中} } void Pop_SeqStack(SeqStack *s,char *x)// 将栈 *s 中的栈顶元素出栈并通过参数x 返回给主调函数{ if(s->top==-1)// 栈空