迴圈佇列 C語言

2021-08-28 14:58:07 字數 1228 閱讀 3136

佇列的特點是先進先出。在佇列的儲存過程中,不僅使用了一組位址連續的儲存單元存放從佇列頭到佇列尾的元素,而且還附設了兩個指標front和rear,分別指示佇列頭元素及佇列尾元素的位置。

佇列操作示意圖(出自嚴蔚敏版資料結構)

對鍊錶的增加是通過移動rear指標,鍊錶的刪除時通過移動front的移動。通過這兩個指標實現佇列的先進先出。

迴圈佇列是將頭尾連線起來(出自嚴蔚敏版資料結構)

隊空時,front、rear指標指在同乙個元素位置。隊滿時rear指標的下一位時front。增加、刪除指標移動與佇列一致。

**實現:

#include

#define maxq 4

typedef struct

squeue;

/**操作介面**/

void prin_1()

/**建立佇列**/

squeue creatqueue(squeue q)

/**入佇列**/

squeue initqueue(squeue q,int e)

else

}/**出佇列**/

squeue outqueue(squeue q)

}/**取佇列首元素**/

int getop(squeue q,int a)

}/**計算佇列長度**/

int l_queue(squeue q)

}/**輸出全部佇列元素**/

void prinqueue(squeue q)

else

printf("\n");}}

int main(void)

}return 0;

}執行結果:

迴圈佇列實現(C語言)

背景 生活中有很多佇列的影子,比如打飯排隊,買火車票排隊問題等,可以說與時間相關的問題,一般都會涉及到佇列問題 從生活中,可以抽象出佇列的概念,佇列就是乙個能夠實現 先進先出 的儲存結構。佇列分為鏈式佇列和靜態佇列 靜態佇列一般用陣列來實現,但此時的佇列必須是迴圈佇列,否則會造成巨大的記憶體浪費 鏈...

mysql迴圈佇列 C語言實現 迴圈佇列

include include include typedef struct queue int pbase 陣列 int front 頭 int rear 尾 rear不存放資料,所以rear前面的是最後乙個資料 queue void init queue queue pq bool full q...

迴圈佇列的實現(C語言)

迴圈佇列 vs2010 除錯 include include include define max size 6 define true 1 define false 0 define overflow 0 define ok 1 define error 0 typedef struct seq ...