線性結構_佇列
阿新 • • 發佈:2020-09-12
佇列結構
佇列結構(Queue)一種受限的線性結構
1.特點
1.佇列是一種受限的線性結構
2.先進先出,後進後出
3.在前端插入,在後端彈出
2.佇列的應用
1.列印佇列
印表機取出一個列印一個,直到所有文件被列印
2.執行緒佇列
多工的並行處理時,將所有的人物放入佇列,依次啟動執行緒進行處理
3.佇列的實現
基於陣列
基於連結串列
4.佇列的方法
1.enqueue(element)向佇列尾部新增一個(或多個)元素
2.dequeue()從佇列頭部移除一個元素並返回
3.front()返回佇列中的第一個元素,此時佇列沒有被修改
4.isEmpty()判斷佇列是否為空
5.size()反對佇列長度,即佇列中元素的個數
6.toString()將佇列中的元素轉成字串並返回
5. 佇列的程式碼實現
function Queue(){ // 佇列的屬性 this.items = []; // 佇列的方法 // 1. 向佇列尾部新增一個(或多個)元素 Queue.prototype.enqueue = function(element){ this.items.push(element); } // 2. 從佇列頭部移除一個元素並返回 Queue.prototype.dequeue = functionView Code(){ return this.items.shift(); } // 3. 返回佇列中的第一個元素,此時佇列沒有被修改 Queue.prototype.front = function(){ return this.items[0]; } // 4. 判斷佇列是否為空 Queue.prototype.isEmpty = function(){ return this.items.length == 0; }// 5. 返回佇列長度,即佇列中元素的個數 Queue.prototype.size = function(){ return this.items.length; } // 6. 將佇列中的元素轉成字串並返回 Queue.prototype.toString = function(){ var res = ""; for(var i = 0; i < this.items.length; i++){ res += this.items[i] + " "; } return res; } }