扫码观看视频课程
队列是一种 先进先出 (first in first out,FIFO)的数据结构,用于存储和管理对象集合。在队列中,元素可以从一端添加,从另一端删除,这两端分别称为队列的“队尾”和“队头”。队列支持的主要操作包括入队(在队列的尾部插入元素)、出队(从队列的头部删除元素)及查看队列的头部的元素但不移除等。
队列的元素按照插入顺序进行排列,从队列的尾部插入元素,从队列的头部删除元素,并且队列大小可以动态变化。注意,遍历队列的元素只能按照元素插入的顺序进行。
队列支持阻塞和非阻塞操作,队列可以通过数组或链表实现。队列在多线程编程场景中尤为重要,如任务调度、消息传递等场景,因为它能有效管理资源,避免资源冲突。
数组实现队列的特点如表2-2所示。
表2-2 数组实现队列的特点
链表实现队列的特点如表2-3所示。
表2-3 链表实现队列的特点