Question
package ex2; public class Exercise2 { private static class Node { private E element; private Node prev; private Node next; public Node(E e, Node p,
package ex2;
public class Exercise2
public E getElement() { return element; } public Node
public Exercise2() { header = new Node<>(null, null, null); trailer = new Node<>(null, header, null); header.setNext(trailer); }
public int size() { return size; }
public boolean isEmpty() { return size == 0; }
public E first() { if (isEmpty()) return null; return header.getNext().getElement(); }
public E last() { if (isEmpty()) return null; return trailer.getPrev().getElement(); }
public void addFirst(E e) { addBetween(e, header, header.getNext()); }
public void addLast(E e) { addBetween(e, trailer.getPrev(), trailer); }
public E removeFirst() { if (isEmpty()) return null; return remove(header.getNext()); }
public E removeLast() { if (isEmpty()) return null; return remove(trailer.getPrev()); }
private void addBetween(E e, Node
private E remove(Node
public String toString() { StringBuilder sb = new StringBuilder("("); Node
while (current != null) { Node
public static void main(String[] args) { Exercise2
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started