您的位置:首页 > 其它

什么是队列?

2019-06-17 19:10 204 查看

类似于链表和堆栈,队列也是存储数据的结构。队列中数据进入队列的顺序很重要,一般来说,队列就是一群人或者事物按照排好的顺序等待接受服务或者处理。

定义:队列,又称为伫列(queue),是先进先出(FIFO, First-In-First-Out)的线性表。在具体应用中通常用链表或者数组来实现。队列只允许在后端(称为rear)进行插入操作,在前端(称为front)进行删除操作。

和堆栈一样的,也有两种操作,进队(EnQueue)和出队(DeQueue),对于空队列进行出队操作会造成下溢出(underflow),相应的堆满队列进行进队操作为发生上溢出。

 

队列如何使用?

服务台前的一排人解释了队列的概念。当我们要接受服务时只能排在队列的最后面,队列最前面的人也就是正在或则将要接受服务的人,当他走出队列时也就是接受服务了。

当队列正在接受服务时,我们就会慢慢的往前挪,因为服务过的人都出了队列。最终我们到达队首,出列接受服务。在我们需要维持到来的顾客的顺序时这种规则就很有用。

直接应用:

  • 操作系统的调度作业(相同优先级的任务按顺序来到)。
  • 模拟现实世界的排队(例如售票亭门口的队列)。
  • 多通道程序设计。
  • 异步数据传输(file I/O, pipes, sockets)。
  • 呼叫中心顾客的等待时间。
  • 超市现金储蓄量的决定。

间接应用:

  • 辅助算法的数据结构。
  • 其他数据结构的组成。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: