Question
public class FinalExamSpring2013 { // DO NOT CHANGE THE MAIN METHOD public static void main(String[] args) { MyLinkedList list1 = new MyLinkedList (); list1.addFirst(new Integer(4));
public class FinalExamSpring2013 {
// DO NOT CHANGE THE MAIN METHOD public static void main(String[] args) { MyLinkedList
/* DO NOT CHANGE MyLinkedList class*/ final class MyLinkedList
private Node
/** Create a default list */ public MyLinkedList() { head = null; size = 0; }
/** returns the list size */ public int getSize() { return size; }
/** returns the element at given index, returns null if index out of bounds. 0-based indexing **/ public E get(int index) { if (index < 0 || index >= size) { return null; } else { Node
/** Return the head element in the list */ public E getFirst() { if (size == 0) { return null; } else { return head.element; } }
/** Return the last element in the list */ public E getLast() { if (size == 0) { return null; } else { return tail.element; } }
/** Add an element to the beginning of the list */ public void addFirst(E e) { Node
if (tail == null) // the new node is the only node in list { tail = head; }
}
/** Add an element to the end of the list */ public void addLast(E e) { Node
/** Add a new element at the specified index in this list * The index of the head element is 0 */ public void add(int index, E e) { if (index == 0) { addFirst(e); } else if (index >= size) { addLast(e); } else { Node
}
/** Remove the head node and * return the object that is contained in the removed node. */ public E removeFirst() { if (size == 0) { return null; } else { Node
/** Remove the last node and * return the object that is contained in the removed node. */ public E removeLast() { if (size == 0) { return null; } else if (size == 1) { Node
/** Remove the element at the specified position in this list. * Return the element that was removed from the list. */ public E remove(int index) { if (index < 0 || index >= size) { return null; } else if (index == 0) { return removeFirst(); } else if (index == size - 1) { return removeLast(); } else { Node
/** Override toString() to return elements in the list */ public String toString() { StringBuilder result = new StringBuilder("["); Node
/** Clear the list */ public void clear() { head = tail = null; }
/** return true if the list is empty **/ public boolean isEmpty() { return size == 0; } /* Remove the given range from fromIndex to toIndex of the LinkedList * The method returns null if the indexes are out of bounds, otherwise * the method returns a reference to the first Node of the range removed. * Example: given the list [7, 0, 5, 1, 2, 3, 9, 5, 7, 3, 4] * and indexes (2, 5), returns a reference to list containing [5, 1, 2, 3] * and the original list be [7, 0, 9, 5, 7, 3, 4] */ public Node
class Node
E element; Node
public Node(E element) { this.element = element; } }
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