顺序栈和链式栈

栈就相当于一口井,往井里面放东西,遵循先进先出,后进后出的原则

顺序栈

初始化

顺序栈的结构只需要一个数组和top指针

栈的初始化需要将里面的所有元素都设置为1,初始化栈顶为-1

释放

直接释放栈即可

元素的插入

这里使用的是满递增栈,先判断是否栈是否已满,top从下到上插入元素

元素的删除

直接取出里面的元素即可

链式栈

初始化

节点结构:数据域+指针域

头结构:top指针,计数器(可不要)

初始化TOP指针为空,因为栈元素的标号从0开始,那么一开始将TOP指针设置为-1,计数器设置为0

元素的释放

1.先判断这个栈是否存在,非法空间的访问都会引起段错误

2.循环栈中的每个元素,将其释放;在栈中循环结束的条件就是top指针的值,当top指针不存在时,循环结束

3.申请临时指针,将目前栈顶指针备份,栈顶移动,删除临时指针

添加元素

删除元素

1.先判断栈是否为空,访问非法空间,会引起段错误

2.将元素返回上层空间

3.释放元素空间

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值