#include <iostream>
using namespace std;
const int StackSize = 100;
template <class T>
class SeqStack {
public:
SeqStack();
~SeqStack();
void push(T x);//入栈
T Pop();//出栈
T GetTop();
int Empty();//判空
private:
T data[StackSize];
int top;//下标
};
template <class T> SeqStack<T>::SeqStack();
template <class T> SeqStack<T>::~SeqStack();
template <class T>int SeqStack<T>::Empty() {
if (top == -1)
return 1;
else
return 0;
}
template <class T>void SeqStack<T>::push(T x) {
if (top == StackSize - 1)throw"上溢";
data[++top] = x;
}
template <class T>T SeqStack<T>::Pop() {
T x;
if (top == -1)throw"下溢";
x = data[top--];
return x;
}
template <class T>T SeqStack<T>:: GetTop()//取栈顶元素
{
if (top == -1)
throw"下溢异常";
else
return data[top];
}
int main() {
return 0;
}
顺序栈的基本出栈、入栈、初始化、判空、取栈顶元素的基础代码
最新推荐文章于 2023-11-04 17:31:25 发布