佇列 鏈式結構 C語言實現

2021-10-10 03:39:18 字數 1721 閱讀 4038

鏈式佇列需要乙個頭節點(front)和乙個尾節(rear)點來控制鍊錶的插入和刪除,入隊,從尾部插入,出隊,從頭部斷開輸出。

這裡放兩張網上我覺得繪畫的很好的示意圖(借用csdn博主c__zhang)

入佇列示意圖 

出佇列示意圖 

//初始化佇列

bool init_queue(queue *queue);

//判斷佇列是否為空

bool is_empty(queue *queue);

//入佇列

void enqueue(queue *queue, data data);

//出佇列

bool dequeue(queue *queue);

//獲取佇列頭元素

data get_queue_front(queue *queue);

//顯示當前佇列的所以元素

bool show_queue(queue *queue);

int main()

//初始化佇列

bool init_queue(queue *queue)

queue->rear = queue->front = null;

queue->lengh = 0;

return true;

}//判斷佇列是否為空

bool is_empty(queue *queue)

//入佇列

void enqueue(queue *queue, data data)

else

queue->rear = newnode; // 讓rear找到佇列的最後乙個節點的位置

queue->lengh ++;

}//出佇列

bool dequeue(queue *queue)

node *newnode = queue->front->next; // 記錄要出佇列(刪除)的節點下乙個節點 的位置

free(queue->front); // 刪除 佇列最前面的節點

queue->front = newnode; //

queue->lengh --;

}//獲取佇列頭元素

data get_queue_front(queue *queue)

return queue->front->data;

}//顯示當前佇列的所以元素

bool show_queue(queue *queue)

node *newnode = queue->front;

int n = queue->lengh;

printf("當前佇列內元素[");

C語言實現鏈式佇列

鏈式佇列,簡稱 鏈佇列 即使用鍊錶實現的佇列儲存結構。鏈式佇列的實現思想同順序佇列類似,只需建立兩個指標 命名為 top 和 rear 分別指向鍊錶中佇列的隊頭元素和隊尾元素,如下圖所示 所示為鏈式佇列的初始狀態,此時佇列中沒有儲存任何資料元素,因此 top 和 rear 指標都同時指向頭節點。在建...

鏈式佇列 C語言實現

鏈式佇列的儲存結構 我們知道,佇列是操作受限制的線性表,佇列有隊頭和隊尾,插入元素的一端稱為隊頭,刪除元素的一端稱為隊尾。練市佇列的隊頭指標指向當前佇列的隊頭結點位置,隊尾指標指向佇列的當前隊尾結點位置。對於不帶頭結點的鏈式佇列,出佇列時可直接刪除隊頭指標所指的結點,因此,鏈式佇列不帶頭結點更方便。...

C語言實現鏈式佇列

include link queue.h 建立入列 出列顯示所有資料 是否為空 釋放佇列 建立1 void create link queue 1 plinkqueue h h len 0 h header null h tail null 建立2 void create link queue 2 ...