C++数据结构栈的顺序存储(含完整代码)

栈的顺序存储(顺序栈)

顺序栈的概念

用一段连续的内存一次存储栈中的数据
只能在一端进行插入或者删除操作
先入后出,后入先出;
一种受限制的线性表
运行进行插入和删除操作的一端被称为栈顶;
栈底(线性表表头)
插入数据(进栈/入栈)
删除数据(出栈)
空栈:不包含任何数据;

实现代码

#include <iostream>
using namespace std;
//栈的操作
//为了方便,将数组下标为0的一端作为栈底
//顺序栈的类定义
#define InitSize 10 //动态数组尺寸
#define IncSize 5 //当动态数组存满数据后每次扩容所能多保存的元素数量
template <typename T>//T代表数组中元素类型
class SeqStack
{
   
public:
	SeqStack(int length = InitSize);//构造函数
	~SeqStack();//析构函数
	bool Push(const T& e);//入栈(增加数据)
	bool Pop(T& e);//出栈(删除栈顶数据)
	bool GetTop(T& e);//获取栈顶元素数据
	void DisplayStack();//扫描栈内元素
	int StackLength();//获取栈的长度
	bool IsEmpty();//判断栈是否为空栈
	bool IsFull();//判断栈是否已满
private:
	void IncreaseSize
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值