佇列的鏈式儲存結構其實就是線性表的單鏈表,只不過就是尾進頭出。隊頭指標指向鏈佇列的頭節點,隊尾指標指向終端節點。空佇列,front和rear都指向頭節點。
鏈佇列結構為:
typedef int qelemtype;
typedef struct qnode //節點的結構
qnode, *queueptr;
typedef struct //佇列的鍊錶結構
linkqueue;
入隊操作:就是在鍊錶尾部插入節點
status enqueue(linkqueue *q, qelemtype e)
s->data = e;
s->next = null;
q->rear->next = s; //把擁有元素e新節點的s賦值給原隊尾節點的後繼
q->rear = s; //把當前的s設定為隊尾節點,rear指向s
return ok;
}
出隊操作:就是頭節點的後繼節點出隊,將頭節點的後繼改為它後面的節點,若煉表除頭節點外只剩乙個元素時,將rear指向頭結點
status dequeue(linkqueue *q, qelemtype *e)
free(p);
return ok;
}
總結一下:在確定佇列的長度最大值的情亂下,使用迴圈佇列,注意迴圈佇列是佇列的頭尾相接的順序儲存結構
無法估計佇列的長度最好使用鏈佇列/
佇列的鏈式儲存結構
佇列的鏈式儲存結構可以建立乙個頭結點,乙個指向頭結點的指標front,乙個指向尾節點的指標rear。新增乙個節點的時候將rear指向新節點,取乙個節點的時候將front指向下個節點的下乙個節點。佇列鏈式儲存.cpp 定義控制台應用程式的入口點。include stdafx.h struct link...
佇列的鏈式儲存結構
1 佇列的鏈式儲存結構,其實就是線性表的單鏈表,只不過它只能尾進頭出而已,簡稱為鏈佇列。為了操作上的方便,我們將隊頭指標指向鏈佇列的頭結點,而隊尾指標指向終端結點。空佇列時,front和rear都指向頭結點。鏈佇列的結構為 include using namespace std define ok ...
佇列的鏈式儲存結構
佇列的鏈式儲存結構,其實就是線性表的單鏈表,只不過它只能尾進頭出而已,我們把它簡稱為鏈佇列。為了操作上的方便,我們將隊頭指標指向鏈佇列的頭結點,而隊尾指標指向終端結點,如下圖所示 空佇列時,front和rear都指向頭結點。鏈佇列的結構為 typedef int qelemtype typedef ...