陣列模擬環形佇列

2021-10-01 15:21:04 字數 1147 閱讀 4342

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...