顺序栈的实现

这篇博客详细介绍了如何实现顺序栈,并给出了一个利用顺序栈检查括号匹配及转换二进制数的实例。顺序栈类包含构造函数、析构函数、入栈、出栈、获取栈顶元素和判断栈是否为空等操作。通过示例,展示了顺序栈在解决实际问题中的应用。
摘要由CSDN通过智能技术生成

#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()
{

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值