栈和队列学习

栈的定义:
栈是限定只在表尾进行插入和删除操作的线性表。

理解栈的定义的注意点:
(1)首先它是一个线性表,栈元素具有线性关系,即前驱后继关系。
(2)它的特殊之处在于限制了这个线性表的插入和删除位置,它始终只在栈顶进行。
(3)栈的插入操作,叫做进栈。
(4)栈的删除操作,叫做出栈。

栈和普通线性表的不同点:
栈是特殊的线性表,是只允许在一端进行插入和删除操作的线性表。允许插入和删除的叫栈顶,反之则是栈底。栈的特点是:后进先出。

当栈满时,做进栈运算必定产生空间溢出,称“上溢”。 当栈空时,做退栈运算必定产生空间溢出,称“下溢”。上溢是一种错误应设法避免,下溢常用作程序控制转移的条件。

栈的链式存储结构其实就是线性表的单链表,只不过只能尾进头出而已,简称为链队列,为了操作上的方便,我们将对头指针指向链队列的头结点,而队尾指针指向终端节点,空队列时,front和rear都指向头结点。

队列:队列结构是一种线性结构。在队列结构中允许对两端进行操作,但是两端的操作不同。在表的一端只能进行删除操作,称为队头;在表的另一端只能进行插入操作,称为队尾。若队伍中没有数据元素,则称为空队列。队列是按照“先进先出”的原则处理结点数据的。

普通的线性表可以在头节点出进行插入删除操作。也能在线性表末端进行插入删除。
相比较于栈,队列是只允许在一端进行插入操作、而在另一端进行删除操作的线性表。其余基本相似。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值