[数据结构] 队列(Queue)的认识和基本算法

队列的概念介绍:

队列就像是一群排队等待进入某个地方的人群,每个人都按照先来后到的顺序排队等候。在队列中,第一个进入队列的人最先被服务,而最后一个进入队列的人最后才能被服务。队列的特点就是先进先出,简称FIFO(First In, First Out)。

比如在购物超市结账时的场景,顾客们排成一条长龙,第一个顾客先进入结账台,依次往后,最后一个才能被服务。这种排队方式就是队列的典型应用。以及医院和其他场景的一些叫号机也是同样的原理,这样确保了排队的公平性,先进的就一定先出,队列有头和尾,不像栈那样可能会有多出出栈的顺序。

下面是一张方便理解的示意图:(图片是博主上网随便找的,如有侵权及时联系修改)

代码实现队列的基本算法:

注:

数据结构没有明确规定实现队列的代码就应该怎么这么样,下面是仅供参考的代码,只要能实现同样的功能即可。

基本算法的几种算是约定俗成的,根据实际需要而产生的,基本上与之前的顺序表,链表,栈很类似。

考虑到队伍的头删和尾插,在选择上显然更多时候使用链表会比数组更合适。

头文件Queue.h:

#include<stdbool.h>
#include<assert.h>
#include<stdlib.h>
#include
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值