js資料結構 佇列 常見操作

2021-10-10 06:59:56 字數 1434 閱讀 3626

佇列類的建立:基於陣列和基於鍊錶

以下是基於陣列實現的:

function

queue()

// 2.從佇列中刪除前端元素

queue.prototype.

dequeue()

=function()

// 3.檢視前端的元素

queue.prototype.

front()

=function()

// 4.檢視佇列是否為空

queue.prototype.

isempty()

=function()

// 5.檢視佇列中元素的個數

queue.prototype.

size()

=function()

// 6.tostring方法

queue.prototype.

tostring()

=function()

return resultstring }}

//使用佇列

var queue =

newqueue()

queue.

enqueue

('abc'

)

擊鼓傳花:幾個朋友一起玩遊戲,大家圍成乙個圈,開始數數,當數到某個固定數的人將自動淘汰。接著剩下的人從1開始重新玩遊戲,當再次數到該數字時,對應的人繼續淘汰,當最後只剩下乙個人時,即為獲勝,請問最後剩下的人是原來在哪個位置的人?

function

passgame

(namelist,num)

//3.開始數數字

while

(queue.

size()

>1)

// 3.2 num對應的這個人,直接從佇列中刪除

queue.

dequeue()

}// 4.獲取剩下的那個人

var endname = queue.

front()

return namelist.

indexof

(endname)

}// 測試擊鼓傳花

passgame

()

特點:

優先順序佇列主要考慮的問題

場景應用:

function

priorityqueue()

// 封裝屬性

this

.items =

//實現插入方法

priorityqueue.prototype.

enqueue

=function

(element,priority)

else}if

(!added)}}

}

JS實現常見資料結構 佇列

佇列的特點 先進先出。佇列的方法 enqueue 向隊尾增加乙個元素。dequeue 移除佇列頭部元素並返回。front 獲取佇列第乙個元素。isempty 判斷佇列是否為空。size 佇列中元素個數。移除佇列頭部元素並返回 this dequeue function 獲取佇列第乙個元素 this ...

js資料結構 佇列

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

JS資料結構的棧和佇列操作

資料結構 列表 棧 佇列 鍊錶 字典 雜湊 圖和二叉查詢樹!排序演算法 冒牌 選擇 插入 希爾 歸併和快速!查詢演算法 順序查詢和二分查詢 在平時工作中,對陣列的操作很是平常,它提供了很多方法使用,比如位置方法 迭代方法 賦值方法等等,而掌握佇列和棧的資料結構使用則會提高你的工作效率!o o 棧是一...