佇列(一)迴圈佇列的線性儲存

2021-07-27 14:51:44 字數 590 閱讀 5121

#include

#define false 0

#define ok 1

#define maxsize 5

//定義乙個佇列結構

typedef

struct sqqueue

sqqueue;

//建立乙個空佇列

void initqueue(sqqueue *l)

//向佇列插入元素

int inqueue(sqqueue *l, int e)

//從佇列出元素

int outqueue(sqqueue *l, int *e)

//檢視佇列所有元素

void seequeue(sqqueue l)

}int main(void)

inqueue(&s, 5);

inqueue(&s, 6);

seequeue(s);

return

0;}

佇列由資料,頭,尾組成,迴圈佇列節省了空間。

迴圈佇列空:front==rear

迴圈佇列滿:(rear+1)%maxsize==front

佇列的線性實現 迴圈佇列

之前說過,如果是單純乙個陣列就很容易造成假溢位,那麼就有人會想到,如果我把乙個陣列看成是乙個環,將最後乙個元素和第乙個元素連上 實際的儲存結構還是陣列,這個不可能連上 那麼是不是就可以解決假溢位了?為了出對入隊方便,設兩個下標 int型 分別指向隊頭front 第乙個元素 和隊尾rear 最後乙個元...

線性結構 迴圈佇列的順序儲存實現

僅供參考 有錯誤望指出 直接寫迴圈佇列 建立 入列 出列 遍歷 佇列的長度 例如清空,銷毀 之類的操作都沒有寫 以後的有時間再補充 一次聽課,看書時,都沒有懂,為什麼,加那麼多 求餘的,下面想想寫寫,沒有加注釋.會補上的.include include include define ok 1 def...

佇列 迴圈佇列 的順序儲存實現

佇列的順序儲存實現 1 佇列 一端進,另一端出 佇列由兩個引數決定,front 頭 rear 尾 頭指標指向頭乙個元素,尾指標指向指向最後乙個元素的下一儲存單元 若陣列長度為n,當元素個數為n 1時就認為佇列已滿。r指向最後乙個空的元素空間。出隊 頭指標往上移動,入隊 尾指標向上移動,故 靜態佇列只...