数据结构实验报告 班 级: 计 学 号: 姓 名: 设计日期: 西安计算机学院 实验题目 1)栈的顺序存储结构 2)栈的链式存储结构 3)队列的链式存储结构 4)队列的循环存储结构 2
需求分析 本演示程序用C 语言编写,完成栈和列的初始化,入栈、出栈、输出操作
1)对于顺序栈,入栈时要先判断栈是否满了,栈满不能入栈,否则出现空间溢出;在进栈出栈和读取栈顶时先判栈是否为空,为空时不能操作
2)在一个链队表中需设定两个指针分别指向队列的头和尾
3)队列的存储结构:注意要判断队满和队空
4)程序所能达到的功能:完成栈的初始化,入栈,出栈和输出操作;完成队列的初始化,入队列,出队列和输出操作
概要设计 本程序包含 1、栈的顺序存储结构包含的函数: 1)主函数 main() 2)入栈函数 Push() 3)出栈函数 Pop() 2、栈的链式存储结构包含的函数: 1)主函数 main() 2)入栈函数 PushStack() 3)退栈函数 PopStack() 4)取栈顶元素函数 Getstack top() 3 、队列的链式存储结构所包含的函数: 1)主函数 main() 2)入队函数 EnQueue() 3)出队函数 DeQueue() 4 队列的循环所包含的函数: 1)主函数 main() 2)初始化循环函数 CircSeqQueue() 3)入队函数 EnQueue() 4)出队函数 DeQueue() 5)取队首元素函数 GetFront() 4
详细设计 1)栈的顺序存储结构 #include #include #include #define MAXSIZE 20 typedef int datatype; typedef struct { datatype elem[MAXSIZE]; int top; }SeqStack; int init(Se