队列是有 “先输入的数据先输出” 这一特点的数据结构,又称为等待队列。
在日常生活中常见的排队的情形:
- 在超市中,收银台前排队结转
- 在银行的自动提款机前排队取钱
- 在火车站前排队等待出租车
这种时候, 新来到队伍的人直接站在队尾排队。按照排队的顺序,从队列前头的人开始, 顺序地在收银台结账、ATM取钱、乘坐出租车。队首的人离开的时候,排在第二位的人称为队首,后面的人依次排列, 逐个前进。
这种排队等待的顺序不允许出现以下两种情况。
- 加塞插队
- 超越前面的人
这种按照最初的排队顺序处理的数据结构叫做 “队列”。
队列是有 ”先入队列的数据先出队列“ 这一特点的管理方式,称为FIFO(先进先出)或者LILO(后进后出)
队列对数据的管理方式如下图:
队列数据管理的具体例子如下图(入队:IN;出队:OUT):