文档介绍:栈及队列实验报告计划
栈及队列实验报告计划
1
栈及队列实验报告计划
数据构造实验报告次序栈的实现和基本操作一、需求剖析
(1)次序栈
◆栈的典型操作是入栈和出栈,前者将新元素压入栈中,后者弹出
栈顶元素。栈只供给对栈顶元素的接见操作,由top()达成。Push()
和Pop()还有Top()共同组成了栈的最小功能接口。别的,为了方便使用,栈还有判空,判满和输出栈等功能。
◆输入形式及范围:输入形式为整型,范围为0~65535。
◆输出形式:在次序栈的初始化后显示初始化成功,在判断栈能否为空时显示目前栈为空,入栈后显示入栈成功或许栈已满。出栈时显示出栈元素或许栈为空。输出栈时挨次显示栈中元素。
◆程序功能:初始化栈,判断栈能否为空,判断栈能否为满,入栈,
出栈,取栈顶元素,出栈同时返回栈顶元素和输出栈等功能。
◆测试数据:初始化后输入栈的长度为4。
判断栈能否为空。
进行5次入栈操作。分别输入 12345
输出栈。
履行2次出栈操作。
输出栈。
查察栈顶元素。
输出栈。
(2)行列
◆行列的典型操作是入队和出队,前者将新元素压入行列中,后者
弹出队首头元素。行列只供给对队头元素和队尾元素的操作,由
DeQueue()和EnQueue()达成。DeQueue还有EnQueue()共同组成
了行列的最小功能接口。别的,为了方便使用,行列还有判空,判满和输出行列等功能。
◆输入形式及范围:输入形式为整型,范围为0~65535。
◆输出形式:在次序行列的初始化后显示初始化成功,在判断行列能否为空时显示目前行列为空,入行列后显示入队成功或许行列已满。出行列时显示出队首元素或许行列为空。输出行列时挨次显示行列中元素。
◆程序功能:初始化行列,判断行列能否为空,判断行列能否为满,
入队,出队,取队首元素,输出行列等功能。
◆测试数据:初始化后输入行列的长度为54。
判断行列能否为空。
进行5次入队操作。分别输入 12345
输出行列。
履行2次出队操作。
输出行列。
查察队首元素。
栈及队列实验报告计划
栈及队列实验报告计划
2
栈及队列实验报告计划
输出行列。二、纲要设计
(1)次序栈
◆为了实现程序的功能,在 .H文件中定义了栈的模板类 .
template<classT>
classStack
{私有数据成员:
private:
栈及队列实验报告计划
栈及队列实验报告计划
3
栈及队列实验报告计划
栈的最大长度
intMaxSize;
栈及队列实验报告计划
栈及队列实验报告计划
27
栈及队列实验报告计划
栈顶地点
inttop;
栈及队列实验报告计划
栈及队列实验报告计划
27
栈及队列实验报告计划
次序栈首地点
T*theArray;
栈及队列实验报告计划
栈及队列实验报告计划
27
栈及队列实验报告计划
公有成员:
public:
栈的初始化voidInitStack(intcapacity=10);
操作结果:初始化一个默认长度为10的空栈判断栈能否为空boolIsEmpty()const;
初始条件:栈已存在。
栈及队列实验报告计划
栈及队列实验报告计划
27
栈及队列实验报告计划
操作结果:判断栈能否为空。为空则返回1。判断栈能否为满boolIsFull()const;
初始条件:栈已存在。
操作结果:判断栈能否为满。为满则返回1。
查察栈顶元素constT&Top()const;初始条件:栈已经存在。
操作结果:查察栈顶元素,且返回其值。清空栈voidMakeEmpty(){top=-1;}
初始条件:栈已存在。
操作结果:清空目前栈中元素。出栈voidPop();
初始条件:栈已存在。
操作结果:将目前栈顶元素出栈。栈为空时提示目前栈为空。入栈voidPush(constT&e);
初始条件:栈已存在。
操作结果:将目前元素入栈。栈为满时弹出提示目前栈已满。
栈及队列实验报告计划
栈及队列实验报告计划
8
栈及队列实验报告计划
出栈且返回栈顶元素 T TopAndPop();
初始条件:栈已存在。
操作结果:目前栈顶元素出栈且返回其值。输出栈voidOutput();
初始条件:栈已存在
操作结果:按次序输出栈中元素
};
◆模板类中包括了以下函数
初始化栈voidInitStack(intcapacity=10);
判断栈空boolIsEmpty()const;
判断栈满boolIsFull()const;
查察栈顶元素constT&Top()const;
置空栈voidMakeEmp