先備知識與注意事項
Queue(佇列)
是一種概念性的抽象資料結構,可以分別使用Linked list(連結串列)與Array(陣列)來實作。
本篇文章將介紹Queue的基本概念,並以Linked list實作。
簡介:Queue
Queue的應用
以Linked list實作
Queue系列文章
簡介:Queue
Queue
是具有「First-In-First-Out」的資料結構,如同排隊買車票的隊伍即可視為
Queue
,先進入隊伍的人,可以優先離開隊伍,走向售票窗口買票,而後到的人,就需要等隊伍前面的人都買完票後才能買。
如同普遍認知的排隊隊伍,Queue也具有以下特徵:
隊伍有前方(以
front
表示)以及後方(以
back
表示)之分。
若要進入隊伍(
Push
),一定是從
back
進入。
若要離開隊伍(
Pop
),一定是從
front
離開。
以圖一為例,由
front
(隊伍前方)和
back
(隊伍後方)可以判斷,進入隊伍的順序應該是
\(23、1、3、35\)
。
一般的
Queue
,會有以下幾個處理資料結構的功能,配合圖二:
Push(data)
:把資料從Queue的「後面」放進Queue,並更新成新的
back
。
-
在Queue中新增資料又稱為
enqueue
。
-
Pop
:把
front
所指向的資料從Queue中移除,並更新
front
。