JS中資料結構之佇列

2022-06-13 16:48:11 字數 967 閱讀 2685

佇列是一種列表,不同的是佇列只能在隊尾插入元素,在隊首刪除元素。佇列用於儲存按 順序排列的資料,先進先出。

佇列的兩種主要操作是:向佇列中插入新元素和刪除佇列中的元素。插入操作也叫做入 隊,刪除操作也叫做出隊。入隊操作在隊尾插入新元素,出隊操作刪除隊頭的元素。

用陣列實現的佇列

function

queue()

enqueue() 方法向隊尾新增乙個元素:

function enqueue(element)

dequeue() 方法刪除隊首的元素:

function dequeue()

front(),back() 方法讀取隊首和隊尾的元素:

function

front()

function

back()

tostring() 方法顯示佇列內的所有元素:

function

tostring()

return

retstr;

}

empty() 方法判斷佇列是否為空:

function

empty()

else

}

優先佇列

在一般情況下,從佇列中刪除的元素,一定是率先入隊的元素。從優先佇列中刪除元素時,需要考慮優先權的限制,在刪除元素時不必遵守先進先出的約定。高優先順序的元素優先處理。

重新定義 dequeue() 方法,使其刪除佇列中擁有最高優先順序的元素。我們規定: 優先碼的值最小的元素優先順序最高。

function

dequeue()

} return

this.datastore.splice(num, 1);

}

js資料結構 佇列

佇列是一種特殊的線性表,特殊之處在於它只允許在表的前端 front 進行刪除操作,而在表的後端 rear 進行插入操作,和棧一樣,佇列是一種操作受限制的線性表。進行插入操作的端稱為隊尾,進行刪除操作的端稱為隊頭。佇列中沒有元素時,稱為空佇列。佇列的資料元素又稱為佇列元素。在佇列中插入乙個佇列元素稱為...

js資料結構之優先佇列和迴圈佇列

實現乙個優先佇列 設定優先順序,然後在正確的位置新增元素。我們這裡實現的是最小優先佇列,優先順序的值小 優先順序高 的元素被放置在佇列前面。建立乙個類來表示優先佇列 function priorityqueue this.enqueue function e,p else if added this...

資料結構之佇列

八 佇列 鏈式佇列 鍊錶實現 隊尾 rear 隊首 front 靜態佇列 陣列實現 必須是迴圈佇列 需要幾個引數來確定,各引數含義 1 佇列初始化 front和rear值都是0 2 佇列非空 front代表佇列第乙個元素 rear代表佇列最後乙個元素的 下乙個元素 3 佇列空 front和rear相...