班级:计算机11-1 学号:姓名:成绩:_________
实验一顺序表操作验证
一、 实验目的
(1)掌握栈的顺序存储结构;
(2)掌握栈的操作特性;
(3)掌握基于顺序栈的基本操作的实现方法。
(4)掌握队列的链接存储结构;
(5)掌握队列的操作特性;
(6)掌握基于链队列的基本操作的实现方法。
二、 实验内容
(1)建立一个空栈;
(2)对已建立的栈进行插入、删除、取栈顶元素等基本操作;
(3)建立一个空队列;
(4)对已建立的队列进行插入、删除、取队头元素等基本操作。
三、 设计与编码
#include
using namespace std;
constintStackSize=10;
template
struct Node
{
T data;
Node
};
template
classSeqStack
{
public:
SeqStack(); //构造函数,初始化一个空栈
void Push(T x); //将元素x入栈
T Pop( ); //将栈顶元素弹出
T GetTop(); //取栈顶元素(并不删除)
private:
T data[StackSize]; //存放栈元素的数组
int top; //栈顶指针,指示栈顶元素在数组中的下标
};
template
classLinkQueue
{
public:
LinkQueue( ); //构造函数,初始化一个空的链队列
~LinkQueue( ); //析构函数,释放链队列中各结点的存储空间
void EnQueue(T x); //将元素x入队
T DeQueue(); //将队头元素出队
T GetQueue(); //取链队列的队头元素
private:
Node
*rear; //队头和队尾指针,分别指向头结点和终端结点
};//顺序栈初始化算法
template
SeqStack