insert(10)
insert(20)
insert(30)
insert(40)
remove()
insert(50)
insert(60)
70
80
void insert(x)
enqueue()
Object x
Object remove()
dequeue()
boolean isEmpty()
Object peekFront()
r
rear
f
front
A
10
B
20
initially: r: +---+---+---+---+---+ | | | | | | i.e. [ ] +---+---+---+---+---+ f: maxSize: 5 insert(j) { if ( (r == (maxSize - 1)) ) r = -1; queArray[ ++r ] = j; r: +---+---+---+---+---+ | A | | | | | i.e. [A] +---+---+---+---+---+ f: } insert(j) { if ( (r == (maxSize - 1)) ) r = -1; queArray[ ++r ] = j; r: +---+---+---+---+---+ | A | B | | | | i.e. [A,B] +---+---+---+---+---+ f: } remove() { long temp = queArray[ f++ ]; r: +---+---+---+---+---+ | | B | | | | i.e. [B] +---+---+---+---+---+ f: if ( (f == maxSize) ) f = 0; return temp; } remove() { long temp = queArray[ f++ ]; r: +---+---+---+---+---+ | | | | | | i.e. [ ] +---+---+---+---+---+ f: if ( (f == maxSize) ) f = 0; return temp; } isEmpty() { return (nItems == 0); } insert(j) { if ( (r == (maxSize - 1)) ) r = -1; queArray[ ++r ] = j; r: +---+---+---+---+---+ | | | C | | | i.e. [C] +---+---+---+---+---+ f: } insert(D); r: +---+---+---+---+---+ | | | C | D | | i.e. [C,D] +---+---+---+---+---+ f: insert(E); r: +---+---+---+---+---+ | | | C | D | E | i.e. [C,D,E] +---+---+---+---+---+ f: insert(j) { if ( (r == (maxSize - 1)) ) r = -1; r +---+---+---+---+---+ | | | C | D | E | i.e. [C,D,E] +---+---+---+---+---+ f: queArray[ ++r ] = j; r: +---+---+---+---+---+ | F | | C | D | E | i.e. [C,D,E,F] +---+---+---+---+---+ f: } insert(G); r: +---+---+---+---+---+ | F | G | C | D | E | i.e. [C,D,E,F,G] +---+---+---+---+---+ f: isFull() { return (nItems == maxSize); } remove() { long temp = queArray[ f++ ]; r: +---+---+---+---+---+ | F | G | | D | E | i.e. [D,E,F,G] +---+---+---+---+---+ f: if ( (f == maxSize) ) f = 0; return temp; } remove() r: +---+---+---+---+---+ | F | G | | | E | i.e. [E,F,G] +---+---+---+---+---+ f: remove() { long temp = queArray[ f++ ]; r: +---+---+---+---+---+ | F | G | | | | i.e. [F,G] +---+---+---+---+---+ f: if ( (f == maxSize) ) f = 0; r: +---+---+---+---+---+ | F | G | | | | i.e. [F,G] +---+---+---+---+---+ f: return temp; } remove() r: +---+---+---+---+---+ | | G | | | | i.e. [G] +---+---+---+---+---+ f:
insert()