C 語言實現使用靜態陣列實現迴圈佇列

發表於2016-09-29

佇列是一種先進先出的的資料結構,我們同樣可以使用陣列、連結串列等來實現。我們可以在佇列的尾部進行插入元素,在佇列的頭部取出元素。普通的佇列由於空間利用率不高,所以我們一般都用迴圈佇列。迴圈佇列中最重要的的兩個操作就是判斷是否為空和是否已滿。當head==tail時,表示佇列為空。當(tail+1)%MAX_SIZE == head,表示佇列已滿。

我判斷隊滿的方法:犧牲一個單元來區分對空和隊滿,入隊時少用一個佇列單元,相當於浪費一個儲存空間。“隊頭指標的隊尾指標的下一位置作為隊滿的標誌”。程式碼上傳至:https://github.com/chenyufeng1991/Queue_Array  。

(1)進佇列

(2)出佇列

(3)判斷佇列是否為空

(4)判斷佇列是否已滿

(5)列印佇列元素

(6)測試程式碼

相關文章