nce. write a class i ntOueue that stores a queue of i nt·s. A queue ems on one e
ID: 3697291 • Letter: N
Question
nce. write a class i ntOueue that stores a queue of i nt·s. A queue ems on one end and removes/dequeues from the other. You MUST om list. Errors will result if any code attempts to enqueue anything 2. Container/ tainer/Inheritance. Writ ueues it inherit/subclass from 1 other than an intQueue. int, or, if code attempts to assign to a location in the middle of the An intQueue can be constructed with a given list, if none is given it defaults to the em list: >>>intQueue) intQueue ([1) >>> intQueue (13,4,51) intQueue[[3, 4, 5)) The method enqueue adds to the back, dequeue removes from the front and returns the item qintQueue (15,61) >>> q.enqueue (7) >>>q.enqueue (8) intQueue (I5, 6, 7, 8]) >>> q.dequeue )--5 True >>> q.dequeue )--6 True intQueue ((7, 81) Any attempt to add anything but an int raises an error. This can happen in enqueue or the constructor >>>iq intQueue ) >>>iq.enqueue ( 5.5 Traceback (most recent call last): NotIntError: 5.5 is not an int >>> iq.enqueue( 'hello' Traceback (most recent call last): NotIntError: hello is not an int >>>iq.enqueue( [) Traceback (most recent call last): NotIntError: [ is not an int >>> intQueue ( 13, 4 . 55,5)) Traceback (most recent cal1 last): NotIntError: 4.55 is not an int ...continues on next page...Explanation / Answer
// Queue.java // demonstrates queue // to run this program: C>java QueueApp //////////////////////////////////////////////////////////////// class Queue { private int maxSize; private long[] queArray; private int front; private int rear; private int nItems; //-------------------------------------------------------------- public Queue(int s) // constructor { maxSize = s; queArray = new long[maxSize]; front = 0; rear = -1; nItems = 0; } //-------------------------------------------------------------- public void insert(long j) // put item at rear of queue { if(rear == maxSize-1) // deal with wraparound rear = -1; queArray[++rear] = j; // increment rear and insert nItems++; // one more item } //-------------------------------------------------------------- public long remove() // take item from front of queue { long temp = queArray[front++]; // get value and incr front if(front == maxSize) // deal with wraparound front = 0; nItems--; // one less item return temp; } //-------------------------------------------------------------- public long peekFront() // peek at front of queue { return queArray[front]; } //-------------------------------------------------------------- public boolean isEmpty() // true if queue is empty { return (nItems==0); } //-------------------------------------------------------------- public boolean isFull() // true if queue is full { return (nItems==maxSize); } //-------------------------------------------------------------- public int size() // number of items in queue { return nItems; } //-------------------------------------------------------------- } // end class Queue //////////////////////////////////////////////////////////////// class QueueApp { public static void main(String[] args) { Queue theQueue = new Queue(5); // queue holds 5 items theQueue.insert(10); // insert 4 items theQueue.insert(20); theQueue.insert(30); theQueue.insert(40); theQueue.remove(); // remove 3 items theQueue.remove(); // (10, 20, 30) theQueue.remove(); theQueue.insert(50); // insert 4 more items theQueue.insert(60); // (wraps around) theQueue.insert(70); theQueue.insert(80); while( !theQueue.isEmpty() ) // remove and display { // all items long n = theQueue.remove(); // (40, 50, 60, 70, 80) System.out.print(n); System.out.print(" "); } System.out.println(""); } // end main() } // end class QueueApp ////////////////////////////////////////////////////////////////
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.