使用Array建立Queue — C++
3 min readSep 16, 2020
這次來介紹的是Queue,中文稱為「佇列」。
先來對Queue做個簡短的說明:
什麼是Queue?
先舉個例子來看,今天去遊樂園買票的時候,一定是先到售票處的人可以先買票,並且可以先進去,最後到的人最後進去。非常直觀的想法。
而我們的Queue就是基於這個精神來使用,First In First Out(FIFO)「先進先出」,「後進後出」。
在C++中也有Queue的函式可以直接使用,用法就跟Stack差不多。
我們可以把queue想成是一種裝資料的容器,就像水管一樣,頭尾都有空隙可以流出水來。
1. empty():檢查Queue裡面是不是沒有元素。是空的話,回傳 True
2. size():回傳Queue裡面的元素數量。
3. push():把資料從頭的部分放入Queue裡面。
4. pop():把資料從頭的部分丟出Queue外。
5. front():回傳最先丟進去的數,以圖片來看,是最右邊的數字 (1)。
6. back():回傳最後丟進去的數,以圖片來看,是最左邊的數字 (4)。
想要更加了解的話可以點這裡
再來就到我們的實作部分:(用array去建立一個Queue)
這次用struct的型態去建立一個 Queue的結構
1. 首先先想我們需要哪幾個變數,front, rear, arr
2. 再來是我們要建立幾個函式給Queue
為了方便實作,我程式碼的部分,會跟原本圖的方向有些不同。如下圖
可能會不太懂pop()怎麼運作,所以這邊做了張圖
以下為程式碼:
希望這次的解說能夠幫助到大家更加理解Qeueu的運作~~