Java. Design a class named Queue for storing integers. Like a stack, a queue hol
ID: 3569191 • Letter: J
Question
Java. Design a class named Queue for storing integers. Like a stack, a queue hold elements. In a stack, the elemnets are retrieved in a last-in first-out fasion. In a queue, the elements are retrieved in a first-in first-out fasion. The class contains:
An Int[] data field named Elements that stores values in the queue.
A data field named Size that stores the number of elements in the queue.
A constructor that creates a Queue object with default capacity 8
The method enqueue(int v) that adds v to the queue
The method dequeue() that removes and returns the element from the queue.
The method empty() that returns true if the queue is empty
The method getSize() that returns the size of the queue
Following the instructions in the problem statement, design and implement a Java
program for programming exercise 10.10, page 402 (name it Queue.java). The problem states that
Explanation / Answer
Here you go :)
Comment if you have any doubts
//Queue class
import java.util.Arrays;
public class Queue
{
int[] elements;
int size;
public Queue()
{
this.elements=new int[8];
this.size=0;
}
public void enqueue(int v)
{
//chk for size and inc size
if(!(this.size<=this.elements.length))doubleSize();
this.size++;
elements[this.size-1]=v;
}
public int dequeue()
{
if(!this.empty())
{
this.size--;
int ret=this.elements[0];
shiftElements();
return ret;
}
return -1;
}
public boolean empty()
{
if(this.size==0)return true;
else return false;
}
public int getSize()
{
return this.size;
}
private void doubleSize()
{
int[] dummy=new int[this.elements.length*2];
for(int i=0;i<dummy.length;i++)
{
if(i<this.elements.length)dummy[i]=this.elements[i];
else dummy[i]=0;
}
this.elements=dummy;
}
private void shiftElements()
{
for(int i=0;i<=size;i++)
{
if(i<this.elements.length)this.elements[i]=this.elements[i+1];
else this.elements[i]=0;
}
}
//driver method
public static void main(String[] args) {
Queue q=new Queue();
System.out.println("Initial quueu's size: "+q.getSize());
q.enqueue(1);
q.enqueue(2);
System.out.println("Queue size after adding 2 elements: "+q.getSize());
System.out.println("Elements: "+Arrays.toString(q.elements));
System.out.println("Dequing: "+q.dequeue());
System.out.println("Size after dequeue: "+q.getSize());
System.out.println("Elements after dequeue: "+Arrays.toString(q.elements));
}
}
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.