Question

Please answer in Java code Specify the list-based implementation for a enqueue() and dequeue() method of...

Please answer in Java code

Specify the list-based implementation for a enqueue() and dequeue() method of the Queue ADT.

0 0
Add a comment Improve this question Transcribed image text
Answer #1

Here i have created 3 java classes. One is interface(Queue.java), and other two are java Classes. LinkedListQueue.java is architecture of queue, and LinkedQueueDemo.java used for perform operation on queue.

/*************************** Queue.java Starts here ********************************/

package com.test.test2;

public interface Queue <Item> extends Iterable <Item>

{

Item dequeue(); // removes an item from the front of the queue

void enqueue(Item item); // adds an item to the rear end of the queue

boolean isEmpty(); // returns true if queue is empty, false otherwise

int size(); // returns the number of items in the queue right now

}

/*************************** Queue.java Ends here ********************************/

/*************************** LinkedQueue.java Starts here ********************************/

package com.test.test2;

import java.lang.Iterable;

import java.util.*;

class LinkedQueue <Item> implements Queue <Item>

{

private Node front, rear; //begin and end nodes

private int size; // number of items

private class Node

{

Item item;

Node next;

}

public LinkedQueue()

{

front = null;

rear = null;

size = 0;

}

public boolean isEmpty()

{

return (size == 0);

}

public Item dequeue()

{

Item item = front.item;

front = front.next;

if (isEmpty())

{

rear = null;

}

size--;

return item;

}

public void enqueue(Item item)

{

Node oldRear = rear;

rear = new Node();

rear.item = item;

rear.next = null;

if (isEmpty())

{

front = rear;

}

else

{

oldRear.next = rear;

}

size++;

}

public int size()

{

return size;

}

public Iterator<Item> iterator()

{

return new LinkedQueueIterator();

}

private class LinkedQueueIterator implements Iterator <Item>

{

private int i = size;

private Node first = front; //the first node

public boolean hasNext()

{

return (i > 0);

}

public Item next()

{

Item item = first.item;

first = first.next;

i--;

return item;

}

public void remove()

{

// not needed

}

}

}

/*************************** LinkedQueue.java Ends here ********************************/

/***************************  LinkedQueueDemo.java Starts here ********************************/

package com.test.test2;

public class LinkedQueueDemo

{

public static void main (String a[])

{

Queue <Integer> q = new LinkedQueue<Integer>();

  

System.out.println("Inserting Items in queue : ");

  

q.enqueue(11);

q.enqueue(22);

q.enqueue(33);

q.enqueue(44);

q.enqueue(55);

q.enqueue(55);

  

System.out.println("Queue after inserting items : ");

for (Integer i : q) {

System.out.println(i);

}

System.out.println("\nDelete an item from queue: " + q.dequeue());   

System.out.println("\nTotal Size of the queue: " + q.size());

System.out.println("\nNow the queue is:");

for (Integer i : q)

System.out.println(i);  

}

}

/***************************  LinkedQueueDemo.java Ends here ********************************/

OUTPUT >>>>>>>>>

Inserting Items in queue :
Queue after inserting items :
11
22
33
44
55
55

Delete an item from queue: 11

Total Size of the queue: 5

Now the queue is:
22
33
44
55
55

Add a comment
Know the answer?
Add Answer to:
Please answer in Java code Specify the list-based implementation for a enqueue() and dequeue() method of...
Your Answer:

Post as a guest

Your Name:

What's your source?

Earn Coins

Coins can be redeemed for fabulous gifts.

Not the answer you're looking for? Ask your own homework help question. Our experts will answer your question WITHIN MINUTES for Free.
Similar Homework Help Questions
ADVERTISEMENT
Free Homework Help App
Download From Google Play
Scan Your Homework
to Get Instant Free Answers
Need Online Homework Help?
Ask a Question
Get Answers For Free
Most questions answered within 3 hours.
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT