隊列是遵循 FIFO(First In First Out,先進先出,也稱為先來先服務)原則的一組有序的項。
隊列在尾部添加新元素,并從頂部移除元素。最新添加的元素必須排在隊列的末尾。
在現實中,最常見的隊列的例子就是排隊。

function Queue(){//聲明隊列對象
var items = [];//隊列的承載
//向隊列尾部添加一個或多個新的項
this.enqueue = function(el){
items.push(el)
}
//删除隊列頭部第一個元素
this.dequeue = function(){
return items.shift();
}
//傳回隊列中第一個元素
this.front = function(){
return items[0];
}
//确定元素是否為空 為空則為true 不為空則為false
this.isEmpty = function(){
return items.length === 0;
}
//傳回隊列長度
this.size = function(){
return items.length;
}
//列印隊列
this.print = function(){
console.log(items.toString())
}
}
使用隊列類:
//執行個體化類
var queue = new Queue();
//驗證是否為空
console.log(queue.isEmpty()) //true
queue.enqueue('ma');
queue.enqueue('jack');
queue.print();//ma,jack
console.log(queue.size())//2
queue.dequeue();//jack
queue.print();//jack
console.log(queue.size())//1