数据结构实验报告实验名称:实验2栈和队列学生姓名:班级:班内序号:学号:日期:一、实验要求1、实验目的:进一步掌握指针、模板类、异常处理的使用
掌握栈的操作的实现方法掌握队列的操作的实现方法学习使用栈解决实际问题的能力学习使用队列解决实际问题的能力2、实验内容:根据栈和队列的抽象数据类型的定义,按要求实现一个栈或一个队列。要求:实现一个共享栈实现一个链栈实现一个循环队列实现一个链队列编写测试mai
函数测试线性表的正确性二、程序分析21存储结构顺序栈、链栈和顺序队列
f
顺序栈
链栈
顺序队列
22关键算法分析
A、实现一个共享栈:
a、伪代码实现
入栈操作:如果栈满,则抛出上溢异常;
判断是插在栈1还是栈2,如果在栈1插入,则栈顶指针top1加1,在top1处
填入x,如果在栈2插入,则栈顶指针top2加1,在top2处填入x。
出栈操作:如果栈空,则抛出下溢异常;
判断是栈1出栈还是栈2,如果是栈1,则输出栈1栈顶元素,并且top1减1,
如果是栈2,则输出栈2栈顶元素,并且top2加1。
得到栈顶元素操作:如果栈空,则抛出下溢异常;
判断是栈1出栈还是栈2,如果是栈1,则输出栈1栈顶元素,如果是栈2,则
输出栈2栈顶元素。
b、算法实现:
voidshareseqstackpushi
txi
tpush
umber进栈操作iftop11top2异常处理throw