数据结构:队列

来源:互联网 发布:淘宝客服怎么做流程 编辑:程序博客网 时间:2024/06/13 02:25

和栈一样,队列也是表。但是和栈不同的是队列的插入在一端进行,删除则是在另一端进行。
队列的基本操作是enqueue(入队),它是在表的末端(队尾)插入一个元素;dequeue(出队),它是删除(并返回)表的开头(队头)的元素。先进先出。
队列的数组实现:
成员变量

  1. front :记录队头位置
  2. back :记录队尾位置
  3. currentSize :记录队长
    队列的操作:
    x元素入队enqueue,将currentSize 和 back 增1,然后置theArray[back] = x。要出队一个元素,可以将返回值置为theArray[front], 将currentSize减1,再将front增1。
    在多次入队之后,可能back到达数组的最后一个下标,但是由于存在出队的操作,因此,我们实际的队长或许并不是很大,这里我们可以通过循环数组来实现回绕以达到对数组空间的充分利用。因此当enqueue次数不大于队列的大小的情况下,使用回绕是没有必要的。

队列的应用
1. 打印机作业机制
2. 售票口排队