資料結構之佇列

2021-10-17 05:05:24 字數 1393 閱讀 2747

佇列是一種特殊的線性表,特殊之處在於它只允許在表的前端(front)進行刪除操作,而在表的後端(rear)進行插入操作,和棧一樣,佇列是一種操作受限制的線性表。進行插入操作的端稱為隊尾,進行刪除操作的端稱為隊頭。

佇列可以由陣列實現,也可以由鍊錶實現,下面**以陣列實現佇列。

陣列實現佇列思路:1)需要兩個變數(或者說是指標),指向佇列的頭部和尾部,佇列初始化時都指向為-1(代表指標開始指向佇列頭部的前乙個位置),front為頭部,rear為尾部。

2)定義乙個陣列array和乙個maxsize變數,建立陣列時用maxsize,這也是用陣列實現佇列的缺點之一,佇列大小有限。

3)怎麼判斷隊列為空?當front==rear相等時,隊列為空。

4)怎麼判斷佇列滿了?當rear=maxsize-1,佇列就滿了。

5)佇列插入元素時,從隊尾插入,先判斷佇列是否滿了,如果滿了就不插入,未滿就插入元素e,先將隊尾rear指標向後移一位再插入資料

rear++array[rear] = e

6)佇列取出元素時,從隊首取出,先判斷佇列是否為空,為空就不能取出,不為空就取出佇列第乙個元素,先將隊首指標向後移一位再取出元素

具體**如下:

定義乙個佇列物件:

class

arrayqueue

}

判空,判斷滿,列印佇列,插入和取出方法:

public boolean isempty()

public boolean isfull()

public

void

printqueue()

system.out.

println()

;}public

void

put(

int e)

else

}public

intget()

else

}

以上就用陣列實現了佇列,但佇列只能使用一次,不能重複使用,後續考慮使用鍊錶實

資料結構之佇列

八 佇列 鏈式佇列 鍊錶實現 隊尾 rear 隊首 front 靜態佇列 陣列實現 必須是迴圈佇列 需要幾個引數來確定,各引數含義 1 佇列初始化 front和rear值都是0 2 佇列非空 front代表佇列第乙個元素 rear代表佇列最後乙個元素的 下乙個元素 3 佇列空 front和rear相...

資料結構之佇列

與棧相反,佇列是一種先進先出的線性表,它只允許在表的一端進行,而在另一端刪除元 素。在佇列中,允許插入的一端叫做隊尾,允許刪除的一端則稱為隊頭。1 鏈佇列 佇列的鏈式表示和實現 用鍊錶表示的佇列簡稱為鏈佇列,乙個鏈佇列顯然需要兩個分別指示對頭和隊尾的指標 分別稱為頭指 針和尾指標 才能唯一確定。這裡...

資料結構之佇列

一 佇列的介紹 佇列 queue 是一種線性儲存結構。它有以下幾個特點 1 佇列中資料是按照 先進先出 fifo,first in first out 方式進出佇列的。2 佇列只允許在 隊首 進行刪除操作,而在 隊尾 進行插入操作。佇列通常包括的兩種操作 入佇列 和 出佇列。1.佇列的示意圖 佇列中...