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

In a Java DeQue, how would I complete the methods to accomplish these functions?

ID: 3771131 • Letter: I

Question

In a Java DeQue, how would I complete the methods to accomplish these functions? I must use this format, no substitutes.

Thanks!

public class DeQueStub<E> {

public void insertBack(E e) {
Node<E> newNode = new Node<>(e);
  
public void insertFront( ) {

public E removeBack() {

return null;
}//removeback

public E removeFront() {

return null;
}//removefront

public static void main(String[] args) {

DeQueStub<Integer> dq = new DeQueStub<>();

System.out.println("Removing back value " + dq.removeBack());
System.out.println("Removing front value " + dq.removeFront(23));
dq.insertBack(23);
dq.insertBack(34);
System.out.println("Removing front value " + dq.removeFront());
dq.insertBack(55);
dq.insertFront(12);
dq.insertFront(17);
System.out.println("Removing front value " + dq.removeFront());
System.out.println("Removing back value " + dq.removeBack());
System.out.println("Removing front value " + dq.removeFront());
System.out.println("Removing back value " + dq.removeBack());
System.out.println("Removing back value " + dq.removeBack());
System.out.println("Removing back value " + dq.removeFront());
}//main
}//class DeQue

class Node<E> {

Node<E> tail;
Node<E> head;

public Node(E e) {
E element = e;
}
}//classnode

//}//classnode

Explanation / Answer

public class MyDeque{ public Node first; public Node last; public MyDeque() { } /* Method will insert a node in the front of the queue */ public void insertFront(E element) { Node newNode = new Node(element); newNode.element = element; if(last == null){ first = last = newNode; } else{ first.prev = newNode; newNode.prev = first; first = newNode; } } /* Method will insert a node in the back of the queue */ public void insertBack(E element) { Node newNode = new Node(element); newNode.element = element; if(last == null){ first = last = newNode; } else{ last.next = newNode; newNode.prev = last; last = newNode; } } /* Method will remove front-most node in queue */ public E removeFront() { if(last == null){ System.out.println("Nothing to remove"); } else{ first.next = first; }//else if(last != null){ return first.element; } else return null; } /* Method will remove last node in queue */ public E removeBack() { if(last == null){ System.out.println("Nothing to remove"); } else{ last.prev = last; } if(last != null){ return last.element; } else return null; } public static void main(String[] args){ MyDeque dq = new MyDeque(); System.out.println("Removing back value " + dq.removeBack()); System.out.println("Removing front value " + dq.removeFront()); dq.insertBack(23); dq.insertBack(34); System.out.println("Removing front value " + dq.removeFront()); dq.insertBack(55); dq.insertFront(12); dq.insertFront(17); System.out.println("Removing front value " + dq.removeFront()); System.out.println("Removing Back value " + dq.removeBack()); System.out.println("Removing front value " + dq.removeFront()); System.out.println("Removing Back value " + dq.removeBack()); System.out.println("Removing Back value " + dq.removeBack()); System.out.println("Removing front value " + dq.removeFront()); } } class Node { E element; Node prev; Node next; public Node(E e){ element = e;} }
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