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('-------');

上一篇下一篇

猜你喜欢

热点阅读