顺序栈的实现
const int StackSize = 10; //10是示例性的数据,根据实际问题具体定义
template //定义模板类SeqStack
class SeqStack
{
public:
SeqStack( ); //构造函数,初始化一个空栈
~SeqStack( ); //析构函数
void Push( DataType x ); //入栈操作,将元素x入栈
DataType Pop( ); //出栈操作,将栈顶元素弹出
DataType GetTop( ); //取栈顶元素(并不删除)
int Empty( ); //判断栈是否为空
private:
DataType data[StackSize]; //存放栈元素的数组
int top; //游标,栈顶指针,为栈顶元素在数组中的下标
};
顺序栈的入栈操作
代码如下:
template<typename DataType>
void SeqStack<DataType>::Push(DataType x)
{
if(top==StackSize-