class
queue
/** * 判斷佇列是否滿
*/public
boolean
isfull()
/** * 判斷佇列是否為空
*/public
boolean
isempty()
/** * 新增資料
* @param n 新增資料的值
*/public
void
addqueue
(int n)
arr[rear]
=n;/**
* 注意 這裡一定要 去摸(%) 而且 注意 rear 要加 1
*/rear =
(rear+1)
% maxsize;
}/**
* 取出資料
*/public
intgetqueue()
/* 這裡我們 應該 考慮 倆個問題
第一 頭指標(front) 應該 是增加 並且 達到 最高峰的 時候
返回到 初始位置 達到一種迴圈狀態
第二· 是 先增加 還是 先返回
*/int value = arr[front]
;//儲存當前資料,應該先返回 後增加 但是返回(return)後面不能寫**,所以先儲存當先資料 ,再增加
front =
(front+1)
% maxsize;
return value;
}/**
* 顯示佇列中的資料
*/public
void
showqueue()
/* 注意這裡 % maxsize
*/for(
int i = front; i < front+
size()
; i++)}
/** * 得到佇列的有效資料
* @return
*/private
intsize()
//顯示佇列的頭部
public
intgethand()
//顯示頭資料
return arr[front];}
}
陣列模擬環形佇列
package queue 陣列模擬環形佇列 public class queue public void add int element else public intremove throws exception int temp arr front front front 1 size ret...
陣列模擬環形佇列
主要思想 採用雙指標,指標front永遠指向佇列第乙個元素,指標rear永遠指向佇列最後乙個元素位置 1,初始值皆為0 front與rear之間約定預留乙個位置,即若初始化陣列容量為10 maxsize 則有效儲存位只有9個。使用公式 rear maxsize front maxsize 可求出佇列...
2 陣列模擬佇列,以及環形佇列
front和rear的初始值都是 1 從隊尾插入乙個資料rear 1 從隊頭取出乙個資料front 1 隊滿 rear maxszie 1 隊空 front rear 使用陣列模擬佇列,編寫乙個arrayqueue類 class arrayqueue 判斷佇列是否滿 public boolean i...