在之前講解了順序佇列,接下來講解佇列的鏈式儲存結構及實現
在佇列的鏈式儲存中我們將隊頭指標指向單鏈表的頭結點,隊尾指標指向終端節點
在隊列為空時,front和rear都指向頭結點
鏈佇列的結構為:
# define maxsize 1000
# define ok 1
# define error 0
# define true 1
# define false 0
typedef int status;
typedef int qelemtype;
typedef struct qnodeqnode, *queueptr;
typedef structlinkqueue;
在定義好鏈佇列的結構後我們就可以對鏈佇列的基本操作進行**實現
入隊操作
status enqueue(linkqueue *q, qelemtype e)
s->data = e;
s->next = null;
q->rear->next = s;
q->rear = s;
return ok;
}
出隊操作
status dequeue(linkqueue *q, qelemtype *e)
p = q->front->next;
*e = p->data;
q->front->next = p->next;
if(q->rear == p)
free(p);
return ok;
}
上面的操作比較簡單,主要是明白佇列的思 佇列的鏈式儲存結構及實現
佇列的鏈式儲存結構其實就是線性表的單鏈表,只不過它只能尾進頭出,也稱為鏈佇列。為了操作方便講隊頭指標指向鏈佇列的頭結點,而隊尾指標指向終端節點。空佇列是這樣 下面使用 演示 include include include typedef struct node node,pnode typedef ...
佇列的鏈式儲存結構及實現
佇列的鏈式儲存結構,其實就是線性表的單鏈表,只不過它只能尾進頭出而已,稱之為鏈佇列。為了操作上的方便,我們將隊頭指標指向鏈佇列的頭結點,將隊尾指標指向終端結點,如下圖所示 空佇列時,頭尾指標都指向頭結點,如下圖所示 鏈佇列的結構為 typedef int qelemtype qelemtype 型別...
佇列的鏈式儲存結構以及實現
佇列的鏈式儲存結構,其實就是線性表的單鏈表,只不過它只能尾進頭出而已,通常簡稱為鏈佇列。為了操作上的方便,將隊頭指標指向鏈佇列的頭結點,隊尾指標指向終端結點。當隊列為空時,front和rear都指向頭結點。鏈佇列的結構定義如下所示 typedef int qelemtype qnode代表佇列中元素...