像堆栈一样,队列是一个元素的集合。但与栈不同的是,队列遵循先进先出(FIFO)原则。添加到队列中的元素被推到队列的尾部或末端,只有队列前面的元素才允许被移除。
我们可以用一个数组来表示队列,但就像堆栈一样,我们想限制我们对队列的控制量。
队列类的两个主要方法是enqueue和dequeue方法。enqueue方法将一个元素推到队列的尾部,dequeue方法将队列前面的元素移除并返回。其他有用的方法有 front, size, 和 isEmpty 方法。
编写一个enqueue方法将一个元素推到队列的尾部,一个dequeue方法移除并返回前面的元素,一个front方法让我们看到前面的元素,一个size方法显示长度,还有一个isEmpty方法检查队列是否为空。
| DS | Access | Search | Insert | Delete | |
|---|---|---|---|---|---|
| Queue | n | n | 1 | 1 |
function Queue() {
var collection = [];
this.print = function() {
console.log(collection);
};
this.enqueue = function(val) {
collection.push(val);
};
this.dequeue = function() {
return collection.shift();
};
this.front = function() {
return collection[0];
};
this.size = function() {
return collection.length;
};
this.isEmpty = function() {
return collection.length === 0;
};
}