佇列類的建立:基於陣列和基於鍊錶
以下是基於陣列實現的:
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 棧是一...