用JS实现队列的结构

// 1.封装队列
function Queue() {
    this.items = []

    // 2.将元素插入队列
    Queue.prototype.enqueue = function (element) {
        this.items.push(element)
    }

    // 3.从队列中删除前端元素
    Queue.prototype.dequeue = function () {
        return this.items.shift()
    }

    // 4.查看前端的元素
    Queue.prototype.front = function () {
        return this.items[0]
    }

    // 5.查看队列是否为空
    Queue.prototype.isEmpty = function () {
        return this.items.length == 0
    }

    // 6.查看队列中的元素的个数
    Queue.prototype.size = function () {
        return this.items.length 
    }

    // 7.toString方法
    Queue.prototype.toString = function () {
        var resultQueue = ''
        for (let i = 0; i < this.items.length; i++) {
            resultQueue += this.items[i] + ','
        }
        return resultQueue = resultQueue.substring(0, resultQueue.length - 1)

    }
}

var queue = new Queue();
queue.enqueue(1)
queue.enqueue(2)
queue.enqueue(3)
queue.enqueue(4)
console.log(`将元素${queue}压入队列`);

queue.dequeue()
queue.dequeue()
console.log(`取出了二个元素,还剩元素${queue}在队列里`);

var a = queue.front()
console.log(`队列前部元素是${a}`);

var b = queue.isEmpty()
console.log(`队列是否为空${b}`);

var c = queue.size()
console.log(`队列中元素的个数是${c}`);

var d = queue.toString()
console.log(`队列中元素用字符串表示是  ${d}`);
image.png

你可能感兴趣的:(用JS实现队列的结构)