Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Help needed writing and understanding code in Java! There is an assignemnt that has me a little stumped. The instructions given are: A deque is

Help needed writing and understanding code in Java!

There is an assignemnt that has me a little stumped. The instructions given are:

A deque is a double-ended queue. You can insert items at either end and delete them from either end. The methods might be called insertFront() and insertRear(), and removeFront() and removeRear(). A deque provides a more versatile data structure than either a stack or a queue. If you restrict yourself to insertFront() and removeFront() (or their equivalents on the insertRear() and removeRear()), the deque acts like a stack. If you restrict yourself to insertRear() and removeFront() (or the opposite pair), it acts like a queue.

In this project, you are required to program for two files. - The first is Deque.java that is the class definition (Listing 4.4), which should include the following methods. Deque need to support wraparound at the end of the array, as queues do - insertFront(), removeFront(): insert and remove element into the Deque - insertRear(), removeRear(): insert and remove element into the Deque - isEmpty(): if the Deque is empty o isFull(): if the Dqeue is full - size(): return the number of items in queue. - display(): display all the element from Front to Rear (Hint: You could use books code insert() as insertRear(), remove as removeFront(), then to write the similar methods for insertFront() and removeRear(), which both index are decreasing.)

- The second file is DequeApp.java that is the application to use Deque ADT. You are required to have three objects to show your deque ADT used as a stack, queue, and deque.

Below is the code from the book (Listing 4.4)

// 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 files long n = theQueue.remove(); // (40, 50, 60, 70, 80) System.out.print(n); System.out.print(" "); } System.out.println(""); } // end main() } // end class OrderedApp

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

More Books

Students also viewed these Databases questions

Question

Describe the factors influencing of performance appraisal.

Answered: 1 week ago

Question

What is quality of work life ?

Answered: 1 week ago

Question

Understand the different approaches to job design. page 167

Answered: 1 week ago