1. 程式人生 > 實用技巧 >線性結構_佇列

線性結構_佇列

佇列結構

  佇列結構(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 = function
(){ 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; } }
View Code