Question: Exercise 2 In the existing DoublyLinkedList class, write and test a non - static method named reverseList to reverse a doubly linked list. Write the
Exercise
In the existing DoublyLinkedList class, write and test a nonstatic method named reverseList to
reverse a doubly linked list. Write the testing code in the main method of the class
DoublyLinkedList. For this purpose, you must only use and update the DoublyLinkedList.java
file provided in LessonExamples posted in the eCentennial module "Lesson Examples from
textbook
Code:
package ex;
public class DoublyLinkedList
private static class Node
private E element;
private Node prev;
private Node next;
public NodeE e Node p Node n
element e;
prev p;
next n;
public E getElement return element;
public Node getPrev return prev;
public Node getNext return next;
public void setPrevNode p prev p;
public void setNextNode n next n;
private Node header;
private Node trailer;
private int size ;
public DoublyLinkedList
header new Nodenull null, null;
trailer new Nodenull header, null;
header.setNexttrailer;
public int size return size;
public boolean isEmpty return size ;
public E first
if isEmpty return null;
return header.getNextgetElement;
public E last
if isEmpty return null;
return trailer.getPrevgetElement;
public void addFirstE e
addBetweene header, header.getNext;
public void addLastE e
addBetweene trailer.getPrev trailer;
public E removeFirst
if isEmpty return null;
return removeheadergetNext;
public E removeLast
if isEmpty return null;
return removetrailergetPrev;
private void addBetweenE e Node predecessor, Node successor
Node newest new Nodee predecessor, successor;
predecessor.setNextnewest;
successor.setPrevnewest;
size;
private E removeNode node
Node predecessor node.getPrev;
Node successor node.getNext;
predecessor.setNextsuccessor;
successor.setPrevpredecessor;
size;
return node.getElement;
public String toString
StringBuilder sb new StringBuilder;
Node walk header.getNext;
while walk trailer
sbappendwalkgetElement;
walk walk.getNext;
if walk trailer
sbappend;
sbappend;
return sbtoString;
public static void mainString args
DoublyLinkedList list new DoublyLinkedList;
list.addFirstMSP;
list.addLastATL;
list.addLastBOS;
list.addFirstLAX;
System.out.printlnOriginal list: list.toString;
System.out.printlnReversed list: list.toString;
System.out.printlnlist;
System.out.printlnlistfirst;
Step by Step Solution
There are 3 Steps involved in it
1 Expert Approved Answer
Step: 1 Unlock
Question Has Been Solved by an Expert!
Get step-by-step solutions from verified subject matter experts
Step: 2 Unlock
Step: 3 Unlock
