陣列佇列和迴圈陣列佇列

2021-10-24 15:57:03 字數 1855 閱讀 9972

public

class

arrayqueuedemo

catch

(exception e)

break

;case

'h':

trycatch

(exception e)

break;}

} system.out.

println

("程式退出");

}}//使用陣列模擬arrayqueue類

class

arrayqueue

//判斷佇列是否滿

public boolean isfull()

//判斷佇列是否為空

public boolean isempty()

//新增資料到佇列

public

void

addqueue

(int n)

rear++

; arr[rear]

=n;}

//獲取佇列的某個資料

public int getone()

front++

;return arr[front];}

//遍歷佇列的資料

public

void

selectqueue()

for(int arr1:arr)

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

public int headqueue()

return arr[front+1]

;}}

問題所在:只能使用一次,當陣列裡的值被取出來後無法在使用:

解決方法:使用迴圈陣列佇列:

public

class

circlearrayqueue

catch

(exception e)

break

;case

'h':

trycatch

(exception e)

break;}

} system.out.

println

("程式退出");

}}class

circlearray

//判斷佇列是否滿

public boolean isfull()

//判斷佇列是否為空

public boolean isempty()

//新增資料到佇列

public

void

addqueue

(int n)

arr[rear]

=n; rear=

(rear+1)

%maxsize;

}//獲取佇列的某個資料

public int getone()

int i = arr[front]

; front=

(front+1)

%maxsize;

return i;

}//遍歷佇列的資料

public

void

selectqueue()

//不能用for迴圈遍歷,因為從頭遍歷陣列與佇列的順序無關

//所以應該從front開始遍歷

for(int i=front;icount()

;i++)}

//返回有效個數

public int count()

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

public int headqueue()

return arr[front];}

}

陣列佇列和迴圈佇列

定義乙個queue的介面 public inte ce queue引入之前自定義的動態陣列array類 出隊時間複雜度是o n 其餘為o 1 public class arrayqueue implements queue public arrayqueue override public int ...

2 迴圈陣列佇列

是一種資料結構,遵守著 先進先出 的原則,是只允許在一端進行插入操作,而在另一端進行刪除操作的線性表,有點類似我們生活排隊的操作,而這次我們在這裡討論的是以陣列為原型組成的 佇列 class arrayqueue 首先我們先定義乙個陣列佇列,並在下面定義幾個對陣列的操作 在入佇列的操作中,需要有以下...

陣列佇列總結

陣列佇列是一種大小可以改變,型別沒有定死的類似陣列的工具。不過與陣列相比,它更具有靈活性。因為它不但不用擔心越界問題,而且因為泛型 類似c 中模板的東西 的存在而支援各種型別。以下是陣列佇列的功能實現 import list.student public class arraylist 建構函式一 ...