鏈式佇列 C語言實現

2021-10-04 22:28:36 字數 1185 閱讀 3978

鏈式佇列的儲存結構:

我們知道,佇列是操作受限制的線性表,佇列有隊頭和隊尾,插入元素的一端稱為隊頭,刪除元素的一端稱為隊尾。

練市佇列的隊頭指標指向當前佇列的隊頭結點位置,隊尾指標指向佇列的當前隊尾結點位置。對於不帶頭結點的鏈式佇列,出佇列時可直接刪除隊頭指標所指的結點,因此,鏈式佇列不帶頭結點更方便。

示意圖(感覺圖畫的有點垮)

標頭檔案:lqueue.h

typedef struct node//節點結構體

lqnode;

typedef struct

lqueue;

//初始化

void

queueinitiate

(lqueue *q)

//判空

intqueueempty

(lqueue q)

//入佇列

void

(lqueue *q,datatype x)

else

}//出佇列

intqueuedelete

(lqueue *q,datatype *d)

else

}//取隊頭資料元素

intqueueget

(lqueue q,datatype *d)

else

}//撤銷動態申請的儲存空間

void

destroy

(lqueue q)

}

原始檔: test.h

typedef int datatype;

#include

#include

#include"lqueue.h"

intmain()

printf

("鏈式佇列的出隊順序為:\n");

while

(queueempty

(list)

)return0;

}

執行結果:

C語言實現鏈式佇列

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

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 ...

C語言實現鏈式佇列

鏈式佇列原始碼 鏈隊運算演算法 include include typedef char elemtype typedef struct datanode datanode 鏈隊資料節點型別定義 typedef struct linkqunode 鏈隊型別定義 void initqueue link...