#include
#include
using namespace std;
const int StackSize=10;
template
class SeqStack
{
public:
SeqStack();//构造函数,初始化一个空栈
~SeqStack();//析构函数
void push(DataType x);//入栈操作,将元素x入栈
DataType pop();//出栈操作,将栈顶元素弹出
DataType gettop();//取栈顶元素(并不删除)
int empty();//判断栈是否为空
private:
DataType data[StackSize];//存放栈元素的数组
int top;//栈顶元素在数组中的下标
};
template
SeqStack::SeqStack()
{
top=-1;
}
template
SeqStack::~SeqStack(){}
template
void SeqStack::push(DataType x)
{
if(topStackSize-1)throw"上溢";
data[++top]=x;
}
template
DataType SeqStack::pop()
{
DataType x;
if(top-1)throw"下溢";
x=data[top–];
return x;
}
template
int SeqStack::empty()
{
顺序栈的实现
最新推荐文章于 2022-04-20 07:30:00 发布
这篇博客详细介绍了如何实现顺序栈,并给出了一个利用顺序栈检查括号匹配及转换二进制数的实例。顺序栈类包含构造函数、析构函数、入栈、出栈、获取栈顶元素和判断栈是否为空等操作。通过示例,展示了顺序栈在解决实际问题中的应用。
摘要由CSDN通过智能技术生成