1.5 队列

队列的基本概念

队列(Queue)是一种数据结构,具有先进先出(FIFO, First In First Out)的特性。这意味着最先进入队列的元素最先被处理或移出。

队列的基本操作:

  • 入队(Enqueue):将元素添加到队列的尾部。
  • 出队(Dequeue):从队列的头部移除元素。
  • 检查队列是否为空或已满。

队列的应用场景:

  • 数据缓冲:如串口通信的数据缓冲区。
  • 任务调度:管理任务的执行顺序。
  • 广度优先搜索等算法。

队列的实现

队列可以通过多种方式实现,主要包括:

  • 基于数组的循环队列
  • 基于链表的队列

两种实现方式的特点:

  • 数组实现:结构简单,随机存取速度快,但大小固定,可能会浪费空间或导致溢出。
  • 链表实现:大小动态,可根据需要扩展,适合不确定大小的队列,但需要额外的内存指针,访问速度略慢。