陣列模擬環形佇列

2021-10-07 23:44:05 字數 1145 閱讀 6642

主要思想:採用雙指標,指標front永遠指向佇列第乙個元素,指標rear永遠指向佇列最後乙個元素位置+1,初始值皆為0;front與rear之間約定預留乙個位置,即若初始化陣列容量為10(maxsize),則有效儲存位只有9個。

使用公式:(rear + maxsize - front) % maxsize 可求出佇列中元素個數。

public

class

arrayqueuedemo

catch

(exception e)}

q.showqueue()

;for

(int i =

0; i <

3; i++

)catch

(exception e)}

q.showqueue()

;try

catch

(exception e)

q.showqueue()

;}}class

arrayqueue

public

arrayqueue

(int maxsize)

public

boolean

isempty()

public

boolean

isfull()

public

intsize()

public

void

addqueue

(int n)

throws runtimeexception

arr[rear]

= n;

rear =

(rear +1)

% maxsize;

system.out.

println

("success!");

}public

intfetchqueue()

int value = arr[front]

; arr[front]=0

; front =

(front +1)

% maxsize;

return value;

}public

void

showqueue()

}}

陣列模擬環形佇列

class queue 判斷佇列是否滿 public boolean isfull 判斷佇列是否為空 public boolean isempty 新增資料 param n 新增資料的值 public void addqueue int n arr rear n 注意 這裡一定要 去摸 而且 注意 ...

陣列模擬環形佇列

package queue 陣列模擬環形佇列 public class queue public void add int element else public intremove throws exception int temp arr front front front 1 size ret...

2 陣列模擬佇列,以及環形佇列

front和rear的初始值都是 1 從隊尾插入乙個資料rear 1 從隊頭取出乙個資料front 1 隊滿 rear maxszie 1 隊空 front rear 使用陣列模擬佇列,編寫乙個arrayqueue類 class arrayqueue 判斷佇列是否滿 public boolean i...