• JS实现队列效果,先进先出


    /**
     * [Queue]
     * @param {[Int]} size [队列大小]
     */
    function Queue(size) {
        var list = [];
    
        //向队列中添加数据
        this.push = function(data) {
            if (data==null) {
                return false;
            }
            //如果传递了size参数就设置了队列的大小
            if (size != null && !isNaN(size)) {
                if (list.length == size) {
                    this.pop();
                }
            }
            list.unshift(data);
            return true;
        }
    
        //从队列中取出数据
        this.pop = function() {
            return list.pop();
        }
    
        //返回队列的大小
        this.size = function() {
            return list.length;
        }
    
        //返回队列的内容
        this.quere = function() {
            return list;
        }
    }
    
    //初始化没有参数的队列
    var queue = new Queue();
    for (var i = 1; i <= 5; i++) {
        queue.push(i);
    }
    
    console.log(queue.quere());
    console.log(queue.pop());   //从队列中取出一个
    console.log(queue.quere());
    
    
    var queue = new Queue(3);
    
    for (var i = 1; i <= 5; i++) {
        queue.push(i);
    }
    console.log(queue.quere());
    console.log(queue.pop());
    console.log(queue.quere());
    
    

    结果:

    [ 5, 4, 3, 2, 1 ]
    1
    [ 5, 4, 3, 2 ]
    [ 5, 4, 3 ]
    3
    [ 5, 4 ]

    厉害了 我的JS

  • 相关阅读:
    js验证数字
    两个数组的交集 II---简单
    只出现一次的数字---简单
    存在重复---简单
    旋转数组---简单
    买股票的最佳时机 II---简单
    从排序数组中删除重复项---简单
    开始日常一题leetcode
    第二章 Internet地址结构
    2.2线程
  • 原文地址:https://www.cnblogs.com/jiqing9006/p/6709993.html
Copyright © 2020-2023  润新知