/* * Write an algorithm for concatenating two singly link lists, L and M, with header sentinels into a single list, N, that contains all the nodes of L followed by all the nodes to M. Hint: Use a temporary node to walk to the end of list L. Then, make the last element of L point to the first element of M as its “next” node. Concatenate () Create a new node v v = L.getHead() while v! = null do v = V.getNext() end while v.setNext(M.getHead()) N = L */ package org.lurey.cs2b.assignments.linkedListAlgorithim; /** * @author Matan Lurey */ public class LinkedListAlgorithim { /** * @param args the command line arguments */ public static void main(String[] args) { System.out.println("Starting application..."); System.out.println("Creating new MyLinkedList(); list1"); MyLinkedList list1 = new MyLinkedList(); System.out.println("Adding 3 elements: 4, 5, and 6"); list1.add(4); list1.add(5); list1.add(6); System.out.println("Printing contents of list1..."); list1.print(); System.out.println("Creating new MyLinkedList(); list2"); MyLinkedList list2 = new MyLinkedList(); System.out.println("Adding 3 elements: 1, 2, and 3"); list2.add(1); list2.add(2); list2.add(3); System.out.println("Printing contents of list2..."); list2.print(); System.out.println("Concatenating list1 to the end of list2..."); list2.concat(list1); System.out.println("Printing contents of list2..."); list2.print(); } } package org.lurey.cs2b.assignments.linkedListAlgorithim; import java.util.LinkedList; /** * Custom LinkedList class that supports a custom .concat() * method, which takes another linkedlist and imports all the nodes * at the end * * @author Matan Lurey */ public class MyLinkedList extends LinkedList { /** * Add's nodes to the end of the list * @param list */ public void concat(LinkedList list) { int length = list.size(); for (int i=0; i