演算法入門之佇列的鏈式表示

2022-07-29 00:09:20 字數 609 閱讀 9592

和線性類似,佇列也可以有倆種儲存表示。乙個鏈佇列需要都兩個分別指向隊頭和隊尾的指標(分別稱為頭指標和尾指標)才能唯一確定。為了操作方便,除了以上兩個指標外,我們還為對列新增乙個頭結點。初始化是頭指標和尾指標都指向頭結點,因此,當頭指標和尾指標均指向頭結點時,此隊列為空。

1. 定義儲存結構:

2. 構建乙個空佇列q:

結果如下圖:

3.進隊:讓e進隊,作為新的對尾:

結果如下圖:

再e1入佇列:

4.出隊:若佇列不為空,則刪除q的對頭元素,用x返回其值:

結果如下圖:

5.隊頭:獲得隊頭的值,同樣用x返回其值:

6.判讀佇列是否為空:7.銷毀佇列:

8.佇列例項運用之楊輝三角如下圖

:圖示:

注意:

隊頭是q.front->next;

佇列的鏈式表示

主題 佇列的鏈式表示 開發環境 visual studio 開發語言 c include include include typedef int elemtype typedef enum boolean 結點 typedef struct qnode qnode,pqnode 佇列 typedef...

佇列的鏈式表示

佇列是和棧相反的一中線性結構,棧的後進先出lifo結構,而佇列是先進先出fifo結構。它只允許在表的一端進行插入,而在另一端進行刪除。1 2和棧相反,佇列是一種先進先出fifo的結構,包括隊頭front,隊尾rear 3使用鏈式結構表示佇列時,分別乙個頭指標和尾指標。為操作方便,鏈佇列也有乙個頭結點...

鏈式結構表示佇列

define qdatatype int typedef struct qlistnode qnode 佇列的結構 typedef struct queue queue 初始化佇列 void queueinit queue q 隊尾入佇列 void queuepush queue q,qdataty...