代码:
function Queue() {
let arr = [];
// 向队列尾部添加一个或多个新的项
this.enqueue = function (...args) {
for (let i = 0; i < args.length; i++) {
arr.push(args[i]);
}
};
// 移除队列的第一项,并且返回被移除的元素
this.dequeue = function () {
return arr.shift();
};
// 返回队列中的第一个元素
this.front = function () {
return arr[0];
};
// 判断队列是否为空,返回值为true/false
this.isEmpty = function () {
return arr.length === 0 ? true : false;
};
// 返回队列中元素个数
this.size = function () {
return arr.length;
};
// 打印队列
this.print = function () {
console.log(arr);
};
}
实现:
let que = new Queue();
console.log(que.isEmpty()); //true
que.enqueue(1, 2, 3, 4, 5);
que.print(); // (5)?[1, 2, 3, 4, 5]
console.log(que.size()); // 5
console.log(que.front()); // 1
console.log(que.dequeue()) // 1
que.print(); //(4)?[2, 3, 4, 5]
|