Question: Modify the array-based queue definition of Figure 4.25 to use a separate Boolean member to keep track of whether the queue is empty, rather than
Modify the array-based queue definition of Figure 4.25 to use a separate Boolean member to keep track of whether the queue is empty, rather than require that one array position remain empty.

// Array-based queue implementation class AQueue implements Queue { private static final int defaultSize = 10; private int maxSize; // Maximum size of queue private int front; // Index of front element private int rear; // Index of rear element private E[] listArray; // Constructors AQueue () { this (defaultSize); } @SuppressWarnings ("unchecked") // For generic array AQueue (int size) { } public void clear() { rear = 0; front = 1; } } maxSize = size+1; rear= 0; front = 1; listArray (E[]) new Object [maxSize]; } = public void enqueue (E it) { // Put "it" in queue assert ((rear+2) & maxSize) != front: "Queue is full"; rear = (rear+1) % maxSize; // Circular increment listArray [rear] = it; } // Array holding queue elements front return it; public E de queue () { assert length () != 0: "Queue is empty"; E it = listArray [front]; public E frontValue () { assert length() != 0 return listArray [front]; // Create listArray // Reinitialize public int length() { return ((rear+maxSize) (front+1) maxSize; // Circular increment // Take element out of queue // Get front value "Queue is empty"; // Return length front + 1) maxSize; } Figure 4.25 An array-based queue implementation.
Step by Step Solution
3.35 Rating (158 Votes )
There are 3 Steps involved in it
java Arraybased queue implementation class AQueue implements Queue private static final int defaultS... View full answer
Get step-by-step solutions from verified subject matter experts
