《学习JavaScript数据结构与算法》笔记---队列

本文源码 这里

概念

队列是单向操作,而且是先进先出,所以在队尾进行添加元素,队头移除元素。 用数组来理解就是,从数组尾部添加,数组头部删除这样才能模拟先进先出。

示例图

创建一个队列
class Queue(){
    /*通过数组来保存队列的元素*/
    item=[];
};
给队列添加一些方法
class Queue{
    item=[];
    // 给队列队尾添加元素
    enqueue(val){
        return this.item.push(val);
    };
    // 给队列队头删除元素
    dequeue(val){
        return this.item.shift(val);
    };
    // 返回队列第一个元素
    front(val){
        return this.item[0];
    };
    // 判断队列中是否含有元素
    isEmpty(val){
        return this.item.length;
    };
    // 判断队列的元素个数
    size(){
        return this.item.length;
    };
};