栈的顺序存储结构---顺序栈的实现

来源:互联网 发布:it 项目 编辑:程序博客网 时间:2024/04/28 21:17

 

#include <iostream>using namespace std;const int SeqStackSize = 100;template <class DataType>class SeqStack{private:    int data[SeqStackSize];  ///存放栈元素的数组    int top;  ///栈顶指针,为栈顶元素在数组中的下标public:    SeqStack() {  top = -1;  } ///构造函数,初始化一个空栈    ~SeqStack() {} ///析构函数为空    void Push(int x);  ///入栈操作,将元素x入栈    int Pop();  ///出栈操作,将栈顶元素弹出    int GetTop() {        if (top != -1)            return data[top];    }  ///取栈顶元素(并不删除)    int Empty() {        if (top == -1)            return 1;        else            return 0;    }  ///判断栈是否为空};template <class DataType>void SeqStack<DataType>::Push(int x)  ///入栈操作,将元素x入栈{    if (top == SeqStackSize - 1)        throw "上溢";    data[++top] = x;}template <class DataType>int SeqStack<DataType>::Pop()  ///出栈操作,将栈顶元素弹出{    if (top == -1)        throw "下溢";    return data[top--];}int main(){    return 0;}