http://data.biancheng.net/view/300.html
栈和队列不要混淆,栈是一端开口、另一端封口,元素入栈和出栈遵循“先进后出”原则;
队列是两端都开口,但元素只能从一端进,从另一端出,且进出队列遵循“先进先出”的原则。
定义
类似于现实中排队时的队列(队尾进,队头出),插入元素的一端称为队尾,删除(取出)元素的一端称为队头。分别对应于入队和出队操作。
队列的特点
1、元素只能从队列的一端进入,从另一端出去
通常,我们将元素进入队列的一端称为“队尾”,进入队列的过程称为“入队”;将元素从队列中出去的一端称为“队头”,出队列的过程称为“出队”。
2、队列中各个元素的进出必须遵循“先进先出”的原则,即最先入队的元素必须最先出队。
3、队列也不能直接访问位于中间的数据,必须通过出队操作将目标数据变成首位后才能访问。
队列的实际应用
解决 CPU 资源的竞争问题
对于一台计算机来说,CPU 通常只有 1 个,是非常重要的资源。如果在很短的时间内,有多个程序向操作系统申请使用 CPU,就会出现竞争 CPU 资源的现象。不同的操作系统,解决这一问题的方