public static LinkdList MergedLL() { LinkdList ll1 = new LinkdList(new Node(13)); ll1.Add(new Node(3)); ll1.Add(new Node(5)); ll1.Add(new Node(7)); ll1.Add(new Node(11)); Console.WriteLine("Here is LL 1 :"); ll1.Print(); LinkdList ll2 = new LinkdList(new Node(2)); ll2.Add(new Node(4)); ll2.Add(new Node(6)); ll2.Add(new Node(8)); ll2.Add(new Node(10)); Console.WriteLine("\nHere is LL 2 : "); ll2.Print(); Console.WriteLine("\nbelow are the two merged!"); ll1.MergeLL(ll1, ll2); return(ll1); }
public LinkdList MergeLL(LinkdList ll1, LinkdList ll2) { ll1.Current = ll1.Head; ll2.Current = ll2.Head; LinkdList ll3 = new LinkdList(new Node(ll1.Current.Value)); int counter = 1; while (ll1.Current.Next != null && ll2.Current.Next != null) { if (ll1.Current.Next != null && counter % 2 == 0) { ll1.Current = ll1.Current.Next; } if (ll2.Current.Next != null && counter % 2 != 0) { ll1.AddAfter(new Node(ll2.Current.Value), new Node(ll1.Current.Value)); ll1.Current = ll1.Current.Next; ll2.Current = ll2.Current.Next; } counter++; } while (ll2.Current != null) { ll1.AddLast(new Node(ll2.Current.Value)); ll2.Current = ll2.Current.Next; } return(ll1); }