資料結構與演算法之迴圈佇列

2021-07-02 12:20:54 字數 426 閱讀 9441

#include #include #define maxsize 20

/***迴圈佇列它的容量是固定的,並且它的對頭和隊尾指標都可以隨著元素

**入佇列而發生改變。

*/typedef char elemtype;

typedef struct

cyclequeue;

/***迴圈佇列的初始化

*/void initqueue(cyclequeue *q)

/***入佇列操作

*/void insertqueue(cyclequeue *q,elemtype e)

/***出佇列操作

*/void deletequeue(cyclequeue *q,elemtype *e)

int main()

資料結構與演算法 佇列 迴圈佇列

部分內容來自於 資料結構 c語言版 清華大學出版社,嚴蔚敏 吳偉民 編著 如果我們將佇列設定為順序儲存結構,那麼,因為出隊的時候是從隊首出隊,入隊的時候是從隊尾入隊,而入隊需要在後面的記憶體中開闢空間,一直這樣總會把所有的記憶體耗盡.雖然我們在出隊的時候會釋放空間,但是釋放的空間是在靠前的記憶體位址...

資料結構與演算法 迴圈佇列

迴圈佇列 實際中我們還會用到一種佇列叫做迴圈佇列,這種佇列把儲存空間前後連線起來,形成像環一樣的結構,解決了記憶體空間浪費的問題 這裡我們用順序結構來實現,因為為了防止溢位的情況,這裡我們需要多開乙個資料的空間用作緩衝,這部分不用於存資料,用於防止溢位,當陣列訪問到這一部分時就將他歸零,實現迴圈的結...

資料結構與演算法 迴圈佇列鏈式佇列

佇列 1 也是一種操作受限的線性表,規定只能在一端插入,一端刪除,有先進先出的特點。2 順序佇列,隊首指標指向隊首元素,隊尾指標指向隊尾元素的前乙個元素,此時隊列為空的判定條件是 q.front q.rear 0 2 順序佇列會有假溢位的現象,為此設計了迴圈佇列。1 為了區分隊滿和隊空的條件,迴圈佇...