這篇文章說的是佇列,佇列的用處也賊大,削峰、限流、訊息非同步化等等等
佇列就是先入先出的陣列,就和平常銀行排隊一樣,先排隊的人先處理事務,如圖
只有兩個操作:
js
中的佇列依舊可以使用陣列實現
function init()
入隊要將資料放到陣列的最後,js
可以用push
function enqueue(queue, data)
出隊要拿出第乙個資料,js
可以用shift
function dequeue(queue)
function main()
依舊不會這麼使用
let queue=
queue.push(1)
queue.push(2)
queue.push(3)
queue.shift()
queue.shift()
queue.shift()
queue.shift()
生產者每秒生成兩條訊息,但是消費者只消費一條訊息。
const message =
let index = 0
setinterval(() => , 500)
setinterval(() => , 1000)
資料結構筆記 0x04佇列
queue是只允許在一端進行插入操作,而在另一端進行刪除操作的線性表 先進先出fifo,允許插入的一端稱為隊尾,允許刪除的一端稱為對頭 adt queue data 同線性表 operation initqueue q destoryqueue q clearqueue q queueempty q...
資料結構5 佇列
5.1簡介 佇列 queue 和堆疊一樣是一種有序鍊錶,屬於抽象資料型別。不同在於是先進先出 first in,first out,fifo 堆疊只需要乙個top指標指向堆疊頂端即可,但是佇列必須使用front和rear兩個指標分別指向佇列的前端和尾端。基本操作 1 create 建立空佇列 2 a...
資料結構(二) 佇列
一 佇列定義 佇列是限定在一端進行插入,另一端進行刪除特殊線性表。二 佇列基本操作 入隊出隊 三 佇列例題 1.例1 舞伴配對問題 分析 這一題是一道經典的取模運算,每一次將編號往前加一位,到達n就取模。include include include include int main return ...