/*Сортировка массива из трёх элементов. После сортировки второй элемент больше первого, третий больше второго*/ public void SortSimpleArray() { var array = QSort.GenerateArray(3); QSort.QuickSort(array); Assert.IsTrue(array[0] < array[1] && array[1] < array[2], "Simple array sorting"); }
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]); } }
public void SortHundredArray() { var array = new int[100]; QSort.QuickSort(array); foreach (var n in array) { Assert.IsTrue(n == array[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"); } }
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(); }
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); }
public void SortEmptyArray() { var array = new int[0]; QSort.QuickSort(array); }