示例#1
0
        public void MergeListTest(SingleLinkedList list)
        {
            //SingleLinkedList list1 = new SingleLinkedList();
            SingleLinkedList list2 = new SingleLinkedList();

            //list1.CreateList();
            list2.CreateList();

            list.BubbleSortExData();
            //list1.BubbleSortExData();
            list2.BubbleSortExData();

            Console.WriteLine("First List - "); list.DisplayList();
            Console.WriteLine("Second List - "); list2.DisplayList();

            SingleLinkedList list3;

            list3 = list.Merge1(list2);
            Console.WriteLine("MergedListByData - "); list3.DisplayList();

            Console.WriteLine("First List - "); list.DisplayList();
            Console.WriteLine("Second List - "); list2.DisplayList();

            list3 = list.Merge2(list2);
            Console.WriteLine("MergedListByLinks - "); list3.DisplayList();
        }
示例#2
0
        public void MergeList(SingleLinkedList list1)
        {
            SingleLinkedList list2 = new SingleLinkedList();

            list2.CreateList();
            list1.BubbleSortExData();
            list2.BubbleSortExData();

            Console.WriteLine("Prva lista .... "); list1.DisplayList();
            Console.WriteLine("Druga lista ...."); list2.DisplayList();

            SingleLinkedList list3;

            list3 = list1.Merge1(list2);
            Console.WriteLine("Spojena lista...."); list3.DisplayList();
        }
示例#3
0
        private static void MergeSortedLinkList()
        {
            SingleLinkedList list1 = new SingleLinkedList();
            SingleLinkedList list2 = new SingleLinkedList();

            list1.CreateList();
            list2.CreateList();

            list1.BubbleSortExData();
            list2.BubbleSortExData();

            Console.WriteLine("First List-");
            list1.DisplayList();
            Console.WriteLine("Second List-");
            list2.DisplayList();

            SingleLinkedList list3;

            //Merging by creating a new list
            list3 = list1.Merge1(list2);

            Console.WriteLine("Merged List-");
            list3.DisplayList();
            //To showcase that the original lists do not change.
            Console.WriteLine("First List-");
            list1.DisplayList();
            Console.WriteLine("Second List-");
            list2.DisplayList();

            //Merging by rearranging links
            list3 = list1.Merge2(list2);

            Console.WriteLine("Merged List-");
            list3.DisplayList();
            //To showcase that the original lists change.
            Console.WriteLine("First List-");
            list1.DisplayList();
            Console.WriteLine("Second List-");
            list2.DisplayList();
        }
示例#4
0
        static void Main(string[] args)
        {
            int choice, data, k, x;
            SingleLinkedList list = new SingleLinkedList();

            list.CreatList();
            while (true)
            {
                Console.WriteLine();
                Console.WriteLine("1.Display List");
                Console.WriteLine("2.Count the number of nodes");
                Console.WriteLine("3.Search for an element");
                Console.WriteLine("4.Insert in empty list/Insert in beginning of the list");
                Console.WriteLine("5.Insert a node at the end of the list");
                Console.WriteLine("6.Insert a node after a specific node");
                Console.WriteLine("7.Insert a node before a specific node");
                Console.WriteLine("8.Insert a node at a given position");
                Console.WriteLine("9.Delete first node");
                Console.WriteLine("10.Delete last node");
                Console.WriteLine("11.Delete any node");
                Console.WriteLine("12.Reverse the list");
                Console.WriteLine("13.Bubble sort by exchanging data");
                Console.WriteLine("14.Bubble sort by exchanging links");
                Console.WriteLine("15.MergeSort");
                Console.WriteLine("16.Insert Cycle");
                Console.WriteLine("17.Detect Cycle");
                Console.WriteLine("18.Remove Cycle");
                Console.WriteLine("19.Quit");

                Console.WriteLine("Enter your choice : ");
                choice = Convert.ToInt32(Console.ReadLine());

                if (choice == 19)
                {
                    break;
                }

                switch (choice)
                {
                case 1:
                    list.DisplayList();
                    break;

                case 2:
                    list.CountNodes();
                    break;

                case 3:
                    Console.WriteLine("Enter the element to be searched :");
                    data = Convert.ToInt32(Console.ReadLine());
                    list.Search(data);
                    break;

                case 4:
                    Console.WriteLine("Enter the element to be inserted");
                    data = Convert.ToInt32(Console.ReadLine());
                    list.InsertInBeginning(data);
                    break;

                case 5:
                    Console.WriteLine("Enter the element to be inserted");
                    data = Convert.ToInt32(Console.ReadLine());
                    list.InsertAtEnd(data);
                    break;

                case 6:
                    Console.WriteLine("Enter the element to be inserted");
                    data = Convert.ToInt32(Console.ReadLine());
                    Console.WriteLine("Enter the value of the specific node");
                    x = Convert.ToInt32(Console.ReadLine());
                    list.InsertAfter(data, x);
                    break;

                case 7:
                    Console.WriteLine("Enter the element to be inserted");
                    data = Convert.ToInt32(Console.ReadLine());
                    Console.WriteLine("Enter the value of the specific node");
                    x = Convert.ToInt32(Console.ReadLine());
                    list.InsertBefore(data, x);
                    break;

                case 8:
                    Console.WriteLine("Enter the element to be inserted");
                    data = Convert.ToInt32(Console.ReadLine());
                    Console.WriteLine("Enter the position");
                    k = Convert.ToInt32(Console.ReadLine());
                    list.InsertAtPosition(data, k);
                    break;

                case 9:
                    list.DeleteFirstNode();
                    break;

                case 10:
                    list.DeleteLastNode();
                    break;

                case 11:
                    Console.WriteLine("Enter the element to be deleted");
                    data = Convert.ToInt32(Console.ReadLine());
                    list.DeleteNode(data);
                    break;

                case 12:
                    list.ReverseList();
                    break;

                case 13:
                    list.BubbleSortExData();
                    break;

                case 14:
                    list.BubbleSortExLinks();
                    break;

                case 15:
                    list.Merge1();
                    break;

                case 19:
                    break;
                }
            }
        }