佇列的鏈式儲存結構及實現

2021-09-27 04:07:50 字數 962 閱讀 5947

在之前講解了順序佇列,接下來講解佇列的鏈式儲存結構及實現

在佇列的鏈式儲存中我們將隊頭指標指向單鏈表的頭結點,隊尾指標指向終端節點

在隊列為空時,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代表佇列中元素...