迴圈佇列隊滿條件

2022-08-16 20:51:11 字數 797 閱讀 2297

隊頭指標在隊尾指標的下一位置時,隊滿。q.front == (q.rear + 1) % maxsize 因為隊頭指標可能又重新從0位置開始,而此時隊尾指標是maxsize - 1,所以需要求餘。

當隊頭和隊尾指標在同一位置時,隊空。q.front == q.rear;

1 #include 2 #include 

3#define maxsize 100 //

最大佇列長度

4#define ok 1

5#define error 0

6 typedef int

elemtype;

7 typedef int

status;

89 typedef struct

sqqueue;

1415

//初始化迴圈佇列

16 status initqueue(sqqueue &q)

2122

//入隊

23 status enqueue(sqqueue &q, elemtype e)

2930

//出隊

31 status dequeue(sqqueue &q, elemtype &e)

3738

//返回佇列長度

39 status length(sqqueue &q)

42————————————————

blog.csdn.net/u010429311/article/details/51043149

迴圈佇列隊滿和隊空判定

假設迴圈佇列的隊尾指標是rear,隊頭是front,其中queuesize為迴圈佇列的最大長度。1 入隊時隊尾指標前進1 rear 1 queuesize 2 出隊時隊頭指標前進1 front 1 queuesize 例1,例2 3 佇列長度 rear front queuesize queuesi...

C 實現迴圈順序佇列(佇列)

佇列同棧相對,前者為先進先出 first in first in 順序隊裡中,使用陣列儲存資料,基本原理同順序線性表和順序棧。由於使用陣列,所以必須事先定義陣列的最大容量maxsize,使用front表示隊頭位置 最先入元素 使用rear表示隊尾元素 最後入元素 這樣每進入乙個元素,rear要自加一...

迴圈佇列判斷滿與空

何時隊列為空?何時為滿?由於入隊時尾指標向前追趕頭指標,出隊時頭指標向前追趕尾指標,故隊空和隊滿時頭尾指標均相等。因此,我們無法通過front rear 來判斷佇列 空 還是 滿 注 先進入的為 頭 後進入的為 尾 解決此問題的方法至少有三種 其一是另設乙個布林變數以匹別佇列的空和滿 其二是少用乙個...