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 建構函式一 ...