javascript数据结构--队列

2018-01-03  本文已影响0人  aermin

tips:接下去会在github写博客,简书不再更新和修改文章,欢迎大家逛逛我的新博客点击查看 ,我会尽量用更容易理解的方式写好每一篇博客,大家一起学习交流😄。

队列(Queue) ,和栈非常类似,但使用不用原则,即 先进先出 。
例子:排队


排队(队列),先进先出

创建队列
(和创建栈很类似,不详细讲,可参考javascript数据结构--栈

function Queue() {

    var items = [];
    //  队列尾部添加新项
    this.enqueue = function(element){
        items.push(element);
    };
     //移除并返回队列第一项
    this.dequeue = function(){
        return items.shift();
    };

    this.front = function(){
        return items[0];
    };

    this.isEmpty = function(){
        return items.length == 0;
    };

    this.clear = function(){
        items = [];
    };

    this.size = function(){
        return items.length;
    };

    this.print = function(){
        console.log(items.toString());
    };
}

Queue类和Stack类非常类似,唯一区别是dequeue 方法和front方法的不用,由先进先出,后进先出原则不同造成。

var queue = new Queue(); console.log(queue.isEmpty()); //؜true
queue.enqueue("John"); 
queue.enqueue("Jack");
queue.enqueue("Camila");
queue.print();//John,Jack,Camila
queue.dequeue(); 
queue.dequeue(); 
queue.print();//Camila
添加
删除
上一篇 下一篇

猜你喜欢

热点阅读