Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

The JCF class Deque had a method called contains that would return true if an Object was in the deque. For a que, the method

The JCF class Deque had a method called contains that would return true if an Object was in the deque. For a que, the method could be specified as follows:

public boolean contains(Object o) //Returns true if this queue contains the specified element.

a. Add this method to the QueueListBased implementation gien in this chapter.

public class QueueListBased implements QueueInterface{

private ListInterface aList;

public QueueListBased(){

aList=new ListReferenceBased();

}

public boolean isEmpty(){

return aList.isEmpty();

}

public void enqueue(Object newItem){

aList.add(aList.size(),newItem);

}

public Object dequeue() throws QueueException{

if(!isEmptry()){

Object queueFront=aList.get(0);

aList.remove(0);

return queueFront;

}else{

throw new QueueException("Queue exception on dequeue: "+ " queue empty");

}

}

public void dequeueAll(){

aList.removeAll();

}

public Object peek() throws QueueException{

if(!isEmptry()){

return aList.get(0);

}else{

throw new QueueException("Queue exception on peek " +" queue emptry");

}

}

}

b. Add this method to the QueueArrayBased implementation given in this chapter.

public class queueArrayBased implements QueueInterface{

private final int MAX_QUEUE=50;

private Object[] items;

private int front, back, count;

public QueueArrayBased(){

items = new Object[MAX_QUEUE];

front=0;

back=MAX_QUEUE-1;

count=0;

}

public boolean isEmptry(){

return count ==0;

}

public boolean isFull(){

return count ==MAX_QUEUE;

}

public void enqueue(Object newItem) throws QueueException{

if(!isFull()){

back=(back+1) %(MAX_QUEUE);

items[back]=newItem;

++count;

}else{

throw new QueueException("QueueException on enqueue: " + "Queue full");

}

}

public Object dequeue() throws QueueException{

if(!isEmptry()){

Object queueFront =items[front];

front=(front+1)%(MAX_QUEUE);

--count;

return queuFront;

}else{

throw new QueueException("QueueExcetion on dequeue: " + "Queue empty");

}

}

public void dequeueAll(){

items=new Object[MAX_QUEUE];

front =0;

back=MAX_QUEUE-1;

count=0;

}

public Object peek() throws QueueException{

if(!isEmptry()){

return items[front];

}else{

thrownew QueueException("Queue exception on peek: "+"Queue empty");

}

}

}

c. Add this method to the QueueReferenceBased implementation given in this chapter.

public class QueueReferenceBased implements QueueInterface{

private Noce lastNode;

public QueueReferenceBased(){

lastNode=null;

}

public boolean isEmpty(){

return lastNode==null;

}

public void dequeAll(){

lastNode=null;

}

public void enqueue(Object newItem){

Node newNode=new Node(newItem);

if(!isEmpty)){

newNode.next=newNode;

}else{

newNode.next=lastNode.next;

lastNode.next=newNode;

}

lastNode=newNode;

}

public Object dequeue() throws QueueException{

if(!isEmpty()){

Node firstNode=lastNode.next;

if(firstNode==lastNode){

lastNode=null;

}else{

lastNode.next=firstNode.next;

}

return firstNode.item;

}else{

throw new QueueExceptioin("QueueException on dequeue:" +"queue empty");

}

}

public Object peek() throws QueueException{

if(!isEmpty)){

Node firstNode = astNode.next;

return firstNode.item;

}else{

throw new QueueException("QueueException on peek:" +queue empty");

}

}

}

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

Harness The Power Of Big Data The IBM Big Data Platform

Authors: Paul Zikopoulos, David Corrigan James Giles Thomas Deutsch Krishnan Parasuraman Dirk DeRoos Paul Zikopoulos

1st Edition

0071808183, 9780071808187

More Books

Students also viewed these Databases questions

Question

What are the risks associated with fundinggap risk?

Answered: 1 week ago

Question

What are their reputations?

Answered: 1 week ago

Question

What is dividend payout ratio ?

Answered: 1 week ago

Question

Explain the factors affecting dividend policy in detail.

Answered: 1 week ago