堆栈和队列

(作者:饶家俊,撰写时间:2020年4月28号)

首先我们就先来看一下堆栈的定义。

堆栈就是多个东西叠放在一起,我们要拿走里面的一个东西,那么我们就要从最上面开始取,要取下面的东西,就要把上面的东西拿走,才可以拿下面的东西。那么就是先放下去的东西,是最后取走的,后放下去的东西是最先取走的,这就是堆栈的定义。

堆栈又是一种特殊的线性表,因为它满足线性表的元素与元素之间的逻辑关系

堆栈简称为栈,是限定只能在表的一端进行插入和删除操作的线性表。

在表中允许插入和删除的一端称作“栈顶”,另一端称作“栈底”。通常将元素插入栈顶的操作作为“入栈”(进栈或者压栈),称删除栈顶元素的操作作为“出栈”。
在这里插入图片描述
存储结构分两种,一种是顺序栈 – 采用顺序结构存储,还有一种就是链栈- 采用链式结构存储。
在这里插入图片描述

当栈满的时候为:top = Maxsize-1。

当栈空的时候为:top= -1。

当栈满的时候就不要在入栈了,所以就可以进行判断一下。

当栈空的时候就不能在弹出元素了,也要进行判断一下。

队列分顺序队列和循环队列,下面就是队列的定义。

队列简称为队,是限定只能在表的一端作插入运算,在另一端作删除运算的线性表。

在表中,允许插入的一端为队尾,允许删除的一端为队首。通常将元素插入队尾称作入列,删除队首元素的操作为出队列。
在这里插入图片描述
当顺序队列要入队的时候,是按顺序从队尾来插入的,出队就是从队首来排除。
在这里插入图片描述

队空:front==rear

队满rear==Maxsize-1

当rear==Maxsize-1时,队列为满,如果再加入新元素,就或产生“溢出”。

但是这种“溢出”并不是真正的溢出,在数组的前端还可能有空的位置,所以是一种假溢出。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值