/** * [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 ]