Answered step by step
Verified Expert Solution
Question
1 Approved Answer
Copy the program MyLinkedList.java (POSTED UNDER THE ------) and implement methods that have TBI (To Be Implemented) in their respective method comment blocks. For one
Copy the program MyLinkedList.java (POSTED UNDER THE "------") and implement methods that have "TBI (To Be Implemented)" in their respective method comment blocks. For one method the TBI is to write the method comment block.
The output of your program must match the following below. The already coded main() method should not need any modifications
test remove()... linked-list: [ 0 1 2 3 4 1 ] remove(1): T; [ 0 2 3 4 1 ] remove(0): T; [ 2 3 4 1 ] remove(1): T; [ 2 3 4 ] remove(4): T; [ 2 3 ] remove(2): T; [ 3 ] remove(3): T; [ ] remove(2): F; [ ] test insert()... linked-list: [ 0 1 2 3 4 1 ] insert(9, 2): T; [ 0 9 1 2 3 4 1 ] insert(8, 0): F; [ 0 9 1 2 3 4 1 ] insert(5, 9): F; [ 0 9 1 2 3 4 1 ] insert(6, 7): T; [ 0 9 1 2 3 4 6 1 ] remove(9): T; [ 0 1 2 3 4 6 1 ] remove(6): T; [ 0 1 2 3 4 1 ]
-----------------------------------------------------------------------------------------
/* * This application is a singly linked-list that is * the code base for a programming assignment. * */ class Node { // instance variables... private Object item; private Node next; // constructor... public Node(Object x) { item = x; next = null; } // getter/setter methods... public Object getItem() { return item; } public Node getNext() { return next; } public void setItem(Object item) { this.item = item; } public void setNext(Node n) { next = n; } // return a String object representation of "this" Node object... public String toString() { return item + " (next is " + (next == null ? "" : "not ") + "null)"; } } /* * class MyLinkedList is not a complete class (i.e. there are * missing methods). The class was primarily created to support * the Queue data structure. */ public class MyLinkedList { private Node head = null; // nth(1) is the head Node object private int size = 0; // size == 0 implies empty linked-list // return the number of items in "this" linked-list... public int getSize() { return size; } // return the head Node for "this" linked-list... public Node getHead() { return head; } // set the size of "this" linked-list to zero... public void clear() { size = 0; head = null; } /* * TBI (To Be Implemented) -- The remaining instance methods * need to be implemented as part of the #MyLinkedList assignment. */ /** * TBI (To Be Implemented) * Prints "this" linked-list starting at the Node object parameter. * The print format: [ followed by a space followed the elements * separated by a space followed by ] Example: [ 0 1 2 3 4 1 ] * * @param Node to begin printing from * @return this MyLinkedList */ public MyLinkedList print(Node n) { } /** * TBI (To Be Implemented) * Removes an item from this MyLinkedList object. * * @param item to remove from this MyLinkedList object * @return true if item removed; else return false */ public boolean remove(Object item) { } /** * TBI (To Be Implemented) * Inserts an item into this MyLinkList object. * * Insert examples: * [7 8 9] insert(5, 0) does nothing (return false) * [7 8 9] insert(5, 1) results in [5 7 8 9] * [7 8 9] insert(5, 2) results in [7 5 8 9] * [7 8 9] insert(5, 3) results in [7 8 5 9] * [7 8 9] insert(5, 4) does nothing (return false) * * @param item to insert into this MyLinkedList object * @param index where item is to be inserted * @return true if item inserted; else return false */ public boolean insert(Object item, int at_i) { } /* * TBI (To Be Implemented * * Fill is this method comment block for add() * in a way that is consistent with the other * TBI method comments blocks. */ public MyLinkedList add(Object item) { size++; Node n = new Node(item); if (head == null) head = n; else { Node t = head; while (t.getNext() != null) t = t.getNext(); t.setNext(n); } return this; } /* * test class MyLinkedList... */ public static void main(String[] argv) { MyLinkedList list = new MyLinkedList(); Integer[] z = { new Integer(0), new Integer(1), new Integer(2), new Integer(3), new Integer(4), new Integer(1), }; for (int i = 0; i < z.length; i++) list.add(z[i]); System.out.println("test remove()..."); System.out.print("linked-list: "); list.print(list.head); remove(list, z[1]); remove(list, z[0]); remove(list, z[1]); remove(list, z[4]); remove(list, z[2]); remove(list, z[3]); remove(list, z[2]); System.out.println(" test insert()..."); for (int i = 0; i < z.length; i++) list.add(z[i]); System.out.print("linked-list: "); list.print(list.head); Integer rm0 = new Integer(9); Integer rm1 = new Integer(6); insert(list, rm0, 2); insert(list, new Integer(8), 0); insert(list, new Integer(5), 9); insert(list, rm1, list.getSize()); //insert(list, rm1, 1); remove(list, rm0); remove(list, rm1); } static void remove(MyLinkedList mll, Object i) { char c = mll.remove(i) ? 'T' : 'F'; System.out.print("remove(" + i + "): " + c + "; "); mll.print(mll.head); } static void insert(MyLinkedList mll, Object o, int i) { char c = mll.insert(o, i) ? 'T' : 'F'; System.out.print("insert(" + o + ", " + i + "): " + c + "; "); mll.print(mll.head); } }
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