zoukankan      html  css  js  c++  java
  • 什么是队列(Queue)?

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

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

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

    queue

    队列如何使用?

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

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

    直接应用:

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

    间接应用:

    • 辅助算法的数据结构。
    • 其他数据结构的组成。
  • 相关阅读:
    android 中使用AsyncTask实现简单的异步编程
    android TextView 垂直自动滚动
    (转)c3p0配置大全
    Android中在底端显示选项卡
    android 中ImageView的scaletype属性
    android 权限大全
    Palm应用开发之六 常用命令及debug
    android spinner 实现Text 和 value
    [转载]【职场宝典】面试官如何看待学历?
    起跑
  • 原文地址:https://www.cnblogs.com/programnote/p/4717250.html
Copyright © 2011-2022 走看看