5.3 【队列】js_队列_数据结构
2019-11-08 本文已影响0人
狩秋之人
用js盲撸的队列,不想码字,只上代码吧。。。
function quene () {
let elements = [];
// enqueue 尾部添加项
this.enqueue = function (element) {
elements.push(element)
console.log('添加元素' + element + '成功!');
return 200
}
// dequeue 移除首项并返回移除项的值
this.dequeue = function () {
return elements.shift();
}
// front 返回第一个元素
this.front = function () {
return elements[0];
}
// isEmpty 是否为空
this.isEmpty = function () {
return elements.length == 0 ? '队列空' : '队列不空'
}
// size 队列大小
this.size = function () {
return elements.length
}
// 查看队列数值
// 改进之前栈的代码,可以使用箭头函数
this.showAll = function () {
elements.forEach((num) => {
console.log(num);
})
}
}
// 测试
let quene1 = new quene();
console.log('1. 测试插入数值');
quene1.enqueue(1);
quene1.enqueue(2);
quene1.enqueue(3);
quene1.enqueue(4);
quene1.enqueue(5);
quene1.enqueue(6);
quene1.enqueue(7);
console.log('-------');
console.log('2. 测试移除首项');
console.log(quene1.dequeue());
console.log('-------');
console.log('3. 测试返回元素');
console.log(quene1.front());
console.log('-------');
console.log('4. 测试是否为空');
console.log(quene1.isEmpty());
console.log('-------');
console.log('5. 测试队列大小');
console.log(quene1.size());
console.log('-------');