跳到主要内容

列队

队列( Queue )是指允许在一端进行插入运算、而在另一端进行删除运算的线性表。允许插入运算的一端称为队尾,通常用一个称为队尾指针的指针指向队尾元素,即队尾指针总是指向最后被插入的元素。允许删除运算的一端称为队头,通常也用一个队头指针指向队头的元素。显然,在队列这种数据结构中,最先插入的元素将最先能够被删除,反之,最后插入的元素将最后才能被删除。因此,队列又称为“先进先出”( First In First Out , FIFO )或“后进后出”( Last In Last Out , LILO )的线性表。对队列可以进行入队、出队的操作。

入队

  • 判断队是否已满,若队满( rear = n + 1),则进行溢出处理,返回函数值1
  • 若队未满,将队尾指针加 l ( rear 加 1)
  • 将新元素 i 送入队尾指针所指的位置,返回函数值0

出队

  • 判断队是否为空,若队空( front > rear ),则进行下溢处理,返回函数值1;
  • 队若不空,将队头元素赋给变量(队头元素若不需保留,可省略此步);
  • 将队头指针加 l ( front 加 1),返回函数值0