Example #1
0
        /*Сортировка массива из трёх элементов. После сортировки второй элемент больше первого, третий больше второго*/
        public void SortSimpleArray()
        {
            var array = QSort.GenerateArray(3);

            QSort.QuickSort(array);
            Assert.IsTrue(array[0] < array[1] && array[1] < array[2], "Simple array sorting");
        }
Example #2
0
        public void SortBigArray()
        {
            var array = QSort.GenerateArray(1500000000);

            QSort.QuickSort(array);
            for (var i = 1; i < array.Length; i++)
            {
                Assert.IsTrue(array[i - 1] < array[i]);
            }
        }
Example #3
0
        public void SortHundredArray()
        {
            var array = new int[100];

            QSort.QuickSort(array);
            foreach (var n in array)
            {
                Assert.IsTrue(n == array[0]);
            }
        }
Example #4
0
        public void SortThousandArray()
        {
            var array   = QSort.GenerateArray(1000);
            var indexes = QSort.GenerateArray(20, array.Length);

            QSort.QuickSort(array);
            for (var i = 0; i < indexes.Length; i += 2)
            {
                Assert.IsTrue((array[indexes[i]] < array[indexes[1 + i]] && indexes[i] < indexes[1 + i]) ||
                              (array[indexes[i]] > array[indexes[1 + i]] && indexes[i] > indexes[1 + i]), "Normal array sorting");
            }
        }
Example #5
0
        static void Main(string[] args)
        {
            // First array

            MyArr one = new MyArr();

            int[] array = one.GetArr();

            Console.Write("Unsorted array: ");
            foreach (var item in array)
            {
                Console.Write(item + " ");
            }
            Console.WriteLine();

            // Merge sorting

            MSort.MergeSort(array);

            Console.Write("Merge sorted array: ");
            foreach (var item in array)
            {
                Console.Write(item + " ");
            }
            Console.WriteLine();

            // Second array

            RandArr two = new RandArr();

            array = two.GetArr();

            Console.Write("Unsorted array: ");
            foreach (var item in array)
            {
                Console.Write(item + " ");
            }
            Console.WriteLine();

            // Quick sorting

            QSort.QuickSort(array);

            Console.Write("Quick sorted array: ");
            foreach (var item in array)
            {
                Console.Write(item + " ");
            }
            Console.WriteLine();

            Console.ReadKey();
        }
Example #6
0
        public static void QuickSort()
        {
            int[] arr;
            FileToArr(out arr);
            Console.WriteLine("- Danh sach ban dau lay tu File:");
            Console.WriteLine("[{0}]", string.Join(", ", arr));
            Console.WriteLine("- Danh sach sau khi duoc sap xep:");
            var sw     = Stopwatch.StartNew();
            var sorter = new QSort <int>(arr);

            sorter.QuickSort(0, arr.Length - 1);
            sw.Stop();
            Console.WriteLine("[{0}]", string.Join(", ", arr));
            Console.WriteLine("Time taken QuickSort: {0} ms", sw.Elapsed.TotalMilliseconds);
            var sw1     = Stopwatch.StartNew();
            var sorter1 = new QSort <int>(arr);

            sorter1.QuickSortDescending(0, arr.Length - 1);
            sw1.Stop();
            Console.WriteLine("[{0}]", string.Join(", ", arr));
            Console.WriteLine("Time taken QuickSort: {0} ms", sw1.Elapsed.TotalMilliseconds);
            Console.ReadKey(true);
        }
Example #7
0
        public void SortEmptyArray()
        {
            var array = new int[0];

            QSort.QuickSort(array);
        }