一、实验目的
1、熟练掌栈的结构特点,掌握栈的顺序存储结构和实现。
2、学会使用栈解决实际问题。
二、实验内容
1、自己确定结点的具体数据类型和问题规模,建立一个顺序栈,实现栈的压栈和出栈操作。
三、实验步骤
1、依据实验内容分别说明实验程序中用到的数据类型的定义;
template < typename T >
class SeqStack{
public:
SeqStack() {top = -1;} //构造函数,初始化一个空栈
~SeqStack() {} //析构函数为空
void push(T x); //入栈操作,将元素x入栈
T pop(); //出栈操作,将栈顶元素弹出
T get() { if(top!=-1) return data[top]; } //取栈顶元素(不删除)
bool Empty() { return top == - 1 ? true : false; } //判断栈是否为空
bool Full() { return top == StackSize - 1 ? true : false; } //判断是否栈满
void print(); //遍历操作
private:
T data[StackSize]; //存放栈元素的数组
int top; //栈顶指针,为栈顶元素在数组中的下标
};
2、相关操作的算法表