简介
队列遵循的是FIFO(先进先出)的原则的一组有序的项。
队列从尾部添加新元素,并从顶部移除元素,最新添加的元素必须排列在队列的末尾。
它的想法来自于生活中排队的策略。顾客在付款结账的时候,按照到来的先后顺序排队结账,先来的顾客先结账,后来的顾客后结账。

代码实现
让我们在js提供的数组方法上,简单实现一个队列(Queue)类:
-
enqueue(): 向队列尾部插入一个元素
-
dequeue(): 移除队列第一个元素
-
front(): 返回队列第一个元素
-
isEmpty(): 判断队列是否为空
-
clear(): 移除队列所有元素
-
size(): 返回队列元素个数
function Queue() { var items = [];
this.enqueue = function(element){//向队列尾部添加一个(或是多个)元素 items.push(element); }; this.dequeue = function(){//移除队列的第一个元素,并返回被移除的元素 return items.shift(); }; this.front = function(){//返回队列的第一个元素——最先被添加的,也将是最先被移除的元素。队列不做任何变动。(不移除元素,只返回元素信息。与stack的peek方法类似) return items[0]; }; this.isEmpty = function(){//如果队列内没有任何元素就返回true,否则返回false return items.length == 0; }; this.clear = function(){//移除队列里的所有元素 items = []; }; this.size = function(){//返回队列里的元素个数 return items.length; }; this.print = function(){//打印 console.log(items.toString()); };}