跳转至

队列

一、概念

  1. 一种先进先出(FIFO)的结构

  2. 使用head(队头)和tail(队尾)指针指向头和尾,实现先进先出

二、操作

  1. push
  2. pop
  3. empty

三、顺序队列

四、循环队列

  1. 意义:防止了伪溢出现象导致一个队列变“短”
  2. 操作
  3. 队头:head = (head + 1) % MAX
  4. 队尾:tail = (tail + 1) % MAX
  5. 队列长度:(head + MAX - tail) % MAX
  6. 空\满
  7. 空:head == tail;
  8. 满:(tail + 1) % MAX == head

五、链式队列

  1. 设置指针指向链表的头尾