資料結構之佇列(二) 鏈佇列

2022-05-03 21:33:14 字數 1222 閱讀 9590

鏈佇列採用帶頭結點的鍊錶,隊頭指標始終指向頭結點隊尾指標始終指向最後乙個元素

當隊列為空時:隊頭指標和隊尾指標均指向頭結點

鏈佇列不會滿!!!

鏈佇列的定義:

2.定義鏈佇列結構體:分別儲存兩個結點指標,隊頭指標和隊尾指標

typedef char datatype;

typedef struct nodelinkqueuenode;

typedef struct queuelinkqueue;

鏈佇列的初始化

隊頭指標和隊尾指標相等且均為空

bool initqueue(linkqueue* q)

else

}

入隊:

記得隊尾的元素的next域為空

bool enterqueue(linkqueue* q,datatype x)

else

return false;}

出對

1.刪除操作之間要判斷是否為空

2.要根據刪除操作之後是否為空來決定隊尾指標是否等於隊頭指標

bool deltequeue(linkqueue* q,datatype* x)

}

可以這樣理解:1.判斷是否為空

2.使p=front-》next

3.賦值給x

4.使p出對:

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

5.判斷p出對之後是否為空

若為空:隊尾指標等於隊頭指標

若不為空:不做處理

6.釋放p

資料結構(二)之順序佇列與鏈佇列

運用陣列結構來構建的線性佇列就是順序佇列。本例實現了順序佇列的入隊 出隊 判斷隊空 初始化佇列 列印佇列等操作。includeusing namespace std const int m 1000 struct queue void enqueue queue q,int x int delque...

資料結構 鏈佇列

佇列沒完全看懂 include include define datatype int 定義節點結構 typedef struct nodequeuenode 定義頭節點 typedef structlinkqueue 初始化鏈佇列,頭節點置空 void initqueue linkqueue q ...

資料結構 鏈佇列

課程實驗,多有不足 include include include define true 1 define false 0 define ok 1 define error 0 typedef int queueelementtype typedef struct node linkqueueno...