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);
        }
Beispiel #2
0
        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);
        }