队列的概念介绍:
队列就像是一群排队等待进入某个地方的人群,每个人都按照先来后到的顺序排队等候。在队列中,第一个进入队列的人最先被服务,而最后一个进入队列的人最后才能被服务。队列的特点就是先进先出,简称FIFO(First In, First Out)。
比如在购物超市结账时的场景,顾客们排成一条长龙,第一个顾客先进入结账台,依次往后,最后一个才能被服务。这种排队方式就是队列的典型应用。以及医院和其他场景的一些叫号机也是同样的原理,这样确保了排队的公平性,先进的就一定先出,队列有头和尾,不像栈那样可能会有多出出栈的顺序。
下面是一张方便理解的示意图:(图片是博主上网随便找的,如有侵权及时联系修改)
代码实现队列的基本算法:
注:
数据结构没有明确规定实现队列的代码就应该怎么这么样,下面是仅供参考的代码,只要能实现同样的功能即可。
基本算法的几种算是约定俗成的,根据实际需要而产生的,基本上与之前的顺序表,链表,栈很类似。
考虑到队伍的头删和尾插,在选择上显然更多时候使用链表会比数组更合适。
头文件Queue.h:
#include<stdbool.h>
#include<assert.h>
#include<stdlib.h>
#include