队列
目录
一、队列的概念
二、入队
三、出队
四、获取队首元素
一、队列的概念
队列是仅限在表尾进行插入,表头进行删除的线性表,它遵循先进先出(First-In-First-Out,FIFO)的原则。队列就像排队等候的人群一样,最先进入队列的元素将首先被处理或移除。
在计算机科学中,队列通常用于实现 排队系统、任务调度、消息传递(消息队列可用于进程间通信)。我们一般可以用 顺序表 或者 链表 来实现队列。
二、入队
1、入队的概念
队列的插入操作叫做入队,它是将数据元素从队尾进行插入的过程。
2、入队的图解
如图所示,4 号元素是原先的队尾,在它后面插入一个元素 6,就完成了入队的过程。
3、入队的步骤
第1步、将元素添加到队列尾部,更新队尾指针(适用于链表)或者索引(适用于顺序表)。
第2步、队列大小增加 1。
三、出队
1、出队的概念
队列的删除操作叫做出队,它是将队首元素进行删除的过程。
2、出队的图解
如图所示,直接删除队首的元素,并且更新为新的队首即可。
3、出队的步骤
第1步、删除队首元素,更新队首指针(适用于链表)或者索引(适用于顺序表)。
第2步、队列的大小减小 1。
四、获取队首元素
1、获取队首元素的概念
返回队首指针(或者索引)指向的元素的值,无论是链表还是顺序表,都可以通过队首指针(或者索引)在 O(1) 的时间复杂度获取到队首元素。
2、获取队首元素的图解
如图所示,直接通过队首指针(或者索引)获取队首元素。
3、获取队首元素的步骤
第1步、利用队首指针(或者索引)获取队首元素并返回。由于是查询操作,所以不会改变队列本身的数据;