陣列模擬佇列

2021-10-20 18:09:36 字數 1340 閱讀 3767

佇列是乙個有序列表,可以用陣列或是鍊錶來實現。

遵循先入先出的原則。即:先存入佇列的資料,要先取出。後存入的要後取出

//檢視佇列頭資訊

trycatch

(exception e)

break

;case

'e':

//退出

scanner.

close()

; loop=

false

;break

;default

:break;}

} system.out.

println

("程式退出");

}}佇列功能

//使用陣列模擬佇列,編寫乙個arrayqueue類

class

arrayqueue

//判斷佇列是否滿

public

boolean

isfull()

//判斷佇列是否為空

public

boolean

isempty()

//新增資料到佇列

public

void

addqueue

(int n)

rear++

; arr[rear]

= n;

}//獲取佇列的資料,出佇列

public

intgetqueue()

front++

;return arr[front];}

//顯示佇列的所有資料

public

void

showqueue()

for(

int i =

0; i < arr.length; i++)}

//顯示佇列的頭資料,不是取資料

public

intheadqueue()

return arr[front +1];}}

問題分析與優化

1)目前陣列使用一次就不能使用,沒有到達復用的效果

2)將此陣列使用演算法,改進成為乙個環形陣列

陣列模擬佇列

1.佇列本身是有序列表,若使用陣列的結構來儲存佇列的資料,則佇列陣列的宣告如下圖,其中 maxsize 是該隊 列的最大容量。2.因為佇列的輸出 輸入是分別從前後端來處理,因此需要兩個變數 front 及 rear 分別記錄佇列前後端的下標,front 會隨著資料輸出而改變,而 rear 則是隨著資...

陣列模擬佇列

指標位置 front 指向佇列的第乙個元素,也就是說front就是 陣列的第乙個元素。front的初始值 0。rear 指向佇列的最後乙個元素的後乙個位置.因為希望空出 乙個空間做為約定。rear 的初始值 0。判空條件if front rear 佇列滿判斷條件if rear maxsize 1 有...

陣列模擬佇列

原題鏈結 陣列模擬佇列和陣列模擬棧其實很類似,都是用乙個陣列來儲存元素,用指標表示當前可以操作的位置。區別就是棧只能在棧頂進行操作,所以只需要有乙個top指標指向棧頂。而佇列可以在隊頭和隊尾都進行操作 出隊 入隊 所以需要兩個指標head和tail指向隊頭和隊尾。如果有元素入隊,則tail加一,指向...