Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Java. Design a class named Queue for storing integers. Like a stack, a queue hol

ID: 3569624 • 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

//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));
   }
}

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote