数据结构基础知识点(五)

栈和队列:

顺序栈:

分配一块空间让S.base指针指向这块空间,再让S.top也指向这块空间,让栈的空间等于设置的最大空间

S.top-S.base指的是相邻指针相差多少个元素

delete是释放指针所指的空间,这个指针就变成了一个野指针,任意指向一个地址,并不是删除了这个指针,所以要在最后加上指针=NULL,避免其乱指

*S.top指的是对top指针所指的那一块空间进行操作

要注意,链栈的next域保存的是前一个元素的地址

递归需要用链栈,当执行到循环的出口时,需要将返回值传递回来

注意这边的头指针和尾指针是int类型的

出入队是通过指针的移动

真溢出指的是队列里面确实没有空间了,而假溢出指的是队列里面还有空间但尾指针已经指向最后一个元素了,因为队列只能在队尾插入,所以这边没办法再插入了,如何解决呢?

因为使用循环链表无法判断是队空还是队满,这边我们采用少用一个元素空间的方法进行判断

这边有可能出现Q.rear-Q.front是负数的情况,也就是Q.rear在Q.front下面的情况,所以要加上一个队列的长度再进行求模运算

链栈的next域保存的是前一个元素的地址,链队的next保存的还是后一个元素的地址,不要搞混了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值