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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM