資料結構---佇列(c語言陣列實現)
佇列是先進先出的過程。簡單地畫一幅畫來描述一下佇列:
乙個簡單的、由陣列實現的佇列,可以由以下幾種最基本的操作組成:
1、判斷佇列是否為空
2、判斷佇列是否已經滿了
3、入隊
4、出隊
**如下:
#include #include //佇列大小
#define size 1024
static int queue[size] = ;
static int head, tail;
int is_empty(void)
int is_full(void)
//入隊
int enqueue(int value)
queue[head] = value;
head = (head + 1) % size;
return 0;
}//出隊
int dequeue(int *value)
int main(void)
; printf("入隊前:\n");
for(i = 0; i < 5; i++)
for(i = 0; i < 5; i++)
printf("入隊後:\n");
for(i = 0; i < 5; i++)
printf("出隊後:\n");
while(1)
getchar();
}
c語言資料結構實現 陣列佇列 環形佇列
應用場景是乙個生產者乙個消費者,兩者平均處理速度是相當的,但是有生產峰值速度太快,消費者處理速度跟不上的情況 這種場景若用單執行緒處理,則會出現消費速度慢導致拖慢生產者的速度 若使用雙線程處理,乙個生產線程乙個消費執行緒,這個時候就能用到佇列 環形佇列了。佇列的資料結構其實非常簡單,實現方式主要為動...
資料結構 佇列之C陣列實現
佇列 是一種限定操作的線性表,它只能在表的 一段插入,另外一段取出 所以也稱為 先進先出 資料結構 fifo first in first out c 如下 有小bug不想調了,作為參考即可 include define maxsize 5 typedef int elemtype typedef ...
資料結構 佇列(C語言實現)
佇列 c語言實現 include include define queueisempty arg arg size 0 define queueisfull arg arg size arg capacity 判斷是否為空或為滿。巨集定義,函式調銷太大。佇列使用size和capacity顯式的判斷是...