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

2021-08-16 03:52:12 字數 1478 閱讀 9084

佇列的鏈式儲存結構,其實就是線性表的單鏈表,只不過它只能尾進頭出而已,通常簡稱為鏈佇列。為了操作上的方便,將隊頭指標指向鏈佇列的頭結點,隊尾指標指向終端結點。

當隊列為空時,front和rear都指向頭結點。

鏈佇列的結構定義如下所示:

typedef

int qelemtype;

//qnode代表佇列中元素的結點

//queueptr指標指向當前鏈佇列

typedef

struct qnode qnode, *queueptr;

//定義鏈佇列的結構

typedef

struct

linkqueue;

鏈佇列的初始化:

linkqueue *initqueue()

鏈佇列的入隊操作:

//鏈佇列的入隊操作

bool enqueue(linkqueue *q, qelemtype e)

s->

data

= e;

s->next =

null;

q->rear->next = s;

q->rear = s;

cout << e << endl;

return

true;

}

鏈佇列的出隊操作:

//鏈佇列的出隊操作

bool dequeue(linkqueue *q, qelemtype *e)

p = q->front->next;

*e = p->

data;

q->front->next = p->next;

if (q->rear == p)

cout <<

*e << endl;

delete p;

return

true;

}

主函式中測試**如下:

int main()

int temp = 0;

//出隊的元素

cout

<< "出隊的元素:"

<< endl;

for (auto i = 0; i < 4; i++)

return

0;}

輸出如下所示:

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

佇列也是一種特殊的線性表,只允許在一端進行插入操作,在另一端進行刪除操作。允許插入的一段為對尾,允許刪除的一端為隊頭。本次記錄的是佇列的鏈式儲存結構以及實現。該儲存結構有兩個指標,乙個指向頭節點,稱為頭指標 front 乙個指向隊尾,稱為尾指標 rear 當front rear時,表示空佇列。當需要...

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

佇列的鏈式儲存結構其實就是線性表的單鏈表,只不過它只能尾進頭出,也稱為鏈佇列。為了操作方便講隊頭指標指向鏈佇列的頭結點,而隊尾指標指向終端節點。空佇列是這樣 下面使用 演示 include include include typedef struct node node,pnode typedef ...

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

佇列的鏈式儲存結構,其實就是線性表的單鏈表,只不過它只能尾進頭出而已,稱之為鏈佇列。為了操作上的方便,我們將隊頭指標指向鏈佇列的頭結點,將隊尾指標指向終端結點,如下圖所示 空佇列時,頭尾指標都指向頭結點,如下圖所示 鏈佇列的結構為 typedef int qelemtype qelemtype 型別...