Queue (キュー) の基本的な操作イメージ
- 最大サイズが5のときのEnqueue & Dequeue
- 最後尾に新しい要素が追加され
- 先頭の最古要素(一番最初に追加された要素)が取り出される
実装
- deque(Double- Ended Queue)を使用。名前通り、 両側からデータを入れたり取り出したりすることができる特殊なキュー
- キューの要素数によって処理を変えたりすることなくappendメソッドのみで、最大サイズに到達以降、先頭の要素が取り出され、最後尾に新しい要素が追加される。
from collections import deque
d = deque(maxlen=5)
for i in range(1, 7):
d.append(i)
print(d)
出力
deque([1], maxlen=5)
deque([1, 2], maxlen=5)
deque([1, 2, 3], maxlen=5)
deque([1, 2, 3, 4], maxlen=5)
deque([1, 2, 3, 4, 5], maxlen=5) <- 最大サイズに到達
deque([2, 3, 4, 5, 6], maxlen=5) <- Enqueue & Dequeue 後