// QueueInterface.java
public interface QueueInterface<T>
{
public boolean isEmpty();
public T dequeue();
public void enqueue(T element);
}
//end of QueueInterface.java
// QueueNode.java
public class QueueNode<T>
{
private T info;
private QueueNode<T> link;
// constructor to set the info to the passed value and
link to null
public QueueNode(T info)
{
this.info = info;
link = null;
}
// method to set the info
public void setInfo(T info)
{
this.info = info;
}
// method to return the info
public T getInfo()
{
return info;
}
// method to set the link
public void setLink(QueueNode<T> link)
{
this.link = link;
}
// method to return the link
public QueueNode<T> getLink()
{
return link;
}
}
//end of QueueNode.java
// ImprovedQueue.java
public class ImprovedQueue<T> implements
QueueInterface<T>
{
private QueueNode<T> front; // first node of the queue
// constructor to create an empty queue
public ImprovedQueue()
{
front = null; // set front to null
}
// method that returns true if front is null else false
public boolean isEmpty()
{
return(front == null);
}
// method that removes and returns the front element of the queue
if queue is not empty, else return null
public T dequeue()
{
if(isEmpty())
return null;
T element = front.getInfo(); // get the element stored in
front
// set front to node next to this node, thus removing the front
element
front = front.getLink();
return element;
}
// method to insert the element at the end of queue
public void enqueue(T element)
{
// create a new node with data as element and next as null
QueueNode<T> newNode = new QueueNode<T>(element);
// is the queue is empty, set front to newNode
if(isEmpty())
front = newNode;
else
{
// non-empty queue
// create currNode to front node of the queue
QueueNode<T> currNode = front;
// loop to get the last node of queue
while(currNode.getLink() != null)
currNode = currNode.getLink();
// set next of last node to newNode to insert element at the end of
queue
currNode.setLink(newNode);
}
}
}
//end of ImprovedQueue.java
// QueueDemo.java
public class QueueDemo {
public static void main(String[] args) {
// create a reference of
QueueInterface and refer it to the new object of
ImprovedQueue
QueueInterface<String>
myQueue = new ImprovedQueue<String>();
// enqueue elements into the
queue
myQueue.enqueue("A");
myQueue.enqueue("B");
myQueue.enqueue("C");
myQueue.enqueue("D");
// remove and set discard to the
front element of queue
String discard = myQueue.dequeue();
// discard contain "A"
// loop that continues till myQueue
is not empty
while(!myQueue.isEmpty())
{
String front =
myQueue.dequeue(); // remove and get the front element of
myQueue
System.out.println(front); // display the front element
returned
}
}
}
//end of QueueDemo.java
Output:
Step 1 Develop the following interface: Interface Name: Queue Interface<T> Access Modifier: public Methods Name: isEmpty...
Step 1 Develop the following interface: Interface Name: QueueInterface<T> Access Modifier: public Methods Name: isEmpty Access modifier: public Parameters: none Return type: boolean Name: dequeue Access modifier: public Parameters: none Return type: T (parameterized type) Name: enqueue Access modifier: public Parameters: element (data type T, parameterized type) Return type: void Step 2 Develop the following class: Class Name: QueueNode<T> Access Modifier: public Instance variables Name: info Access modifier: private Data type: T (parameterized type) Name: link Access modifier: private Data...
Step 1 Develop the following interface: Interface Name: QueueInterface<T> Access Modifier: public Methods Name: isEmpty Access modifier: public Parameters: none Return type: boolean Name: dequeue Access modifier: public Parameters: none Return type: T (parameterized type) Name: enqueue Access modifier: public Parameters: element (data type T, parameterized type) Return type: void Step 2 Develop the following class: Class Name: QueueNode<T> Access Modifier: public Instance variables Name: info Access modifier: private Data type: T (parameterized type) Name: link Access modifier: private Data...
Step 3 Develop the following class: Class Name: ImprovedQueue<T> Access Modifier: public Implements: QueueInterface<T> Instance variables Name: front Access modifier: private Data type: QueueNode<T> Constructors: Name: ImprovedQueue Access modifier: public Parameters: none (default constructor) Task: sets the value of front to null Methods Name: isEmpty Access modifier: public Parameters: none Return type: boolean Task: returns true if the front is equal to null; otherwise return false Name: dequeue Access modifier: public Parameters: none Return type: T (parameterized type) Task: makes...
use intellij idea main java wp the professor. Please make sure to only implement what is asked for. You may not add any instance variables to any class, though you may create local variables inside of a method to accomplish its task. No other methods should be created other than the ones listed here. Step 1 Develop the following interface: Interface Name: Queue Interface<T> Access Modifier: public Methods Name: isEmpty Access modifier: public Parameters: none Return type: boolean Name: dequeue...
use intellij idea main java Step 3 Develop the following class: Class Name: ImprovedQueue<T> Access Modifier: public Implements: QueueInterface<T> Instance variables Name: front Access modifier: private Data type: Queue Node<T> Constructors: Name: ImprovedQueue Access modifier: public Parameters: none (default constructor) Task: sets the value of front to null Methods Name: isEmpty Access modifier: public Parameters: none Return type: boolean Task: returns true if the front is equal to null; otherwise return false Name: dequeue Access modifier: public Parameters: none Return...
i was able to make sense on the others but this two i need help Name: ImprovedQueue<T> Access Modifier: public Implements: QueueInterface<T> Instance variables Name: front Access modifier: private Data type: QueueNode<T> Constructors: Name: ImprovedQueue Access modifier: public Parameters: none (default constructor) Task: sets the value of front to null Methods Name: isEmpty Access modifier: public Parameters: none Return type: boolean Task: returns true if the front is equal to null; otherwise return false Name: dequeue Access modifier: public Parameters:...
Step 1 Develop the following interface: Interface Name: QueueInterface<T> Access Modifier: public Methods Name: isEmpty Access modifier: public Parameters: none Return type: boolean Name: dequeue Access modifier: public Parameters: none Return type: T (parameterized type) Name: enqueue Access modifier: public Parameters: element (data type T, parameterized type) Return type: void
use intellij idea main java Step 2 Develop the following class: Class Name: QueueNode<T> Access Modifier: public Instance variables Name: info Access modifier: private Data type: T (parameterized type) Name: link Access modifier: private Data type: Queue Node<T> Constructors: Name: QueueNode Access modifier: public Parameters: info (data type T Task: sets the value of this.info to the value of the info parameter sets the value of link to null Methods Name: link Access modifier: private Data type: QueueNode<T> Constructors: Name:...
Step 2 Develop the following class: Class Name: QueueNode<T> Access Modifier: public Instance variables Name: info Access modifier: private Data type: T (parameterized type) Name: link Access modifier: private Data type: QueueNode<T> Constructors: Name: QueueNode Access modifier: public Parameters: info (data type T) Task: sets the value of this.info to the value of the info parameter sets the value of link to null Methods Name: setInfo Access modifier: public Parameters: info (data type T) Return type: void Task: sets the...
Step 1 Develop the following class: Class Name: CollegeDegree Access Modifier: public Instance variables Name: major Access modifier: private Data type: String Name: numberOfCourses Access modifier: private Data type: int Name: courseNameArray Access modifier: private Data type: String [ ] Name: courseCreditArray Access modifier: private Data type: int [ ] Static variables Name: maximumNumberOfCourses Access modifier: private Data type: int Initial Value: 40 Constructor Name: CollegeDegree Access modifier: public Parameters: none (default constructor) Task: sets major to the empty string...