public int[] Sort(int[] source) { if (source.Length == 0) { return(source); } var baseElem = source[source.Length / 2]; var less = LessThenBase(source, baseElem); var more = MoreThenBase(source, baseElem); var newArray = QuickSort.Concatenate(Sort(less), new int[1] { baseElem }, Sort(more)); return(newArray); }
public static void Main(string[] args) { int[] data = { 3, 44, 38, 5, 47, 15, 36, 26, 27, 2, 46, 4, 19, 50, 48 }; // int[] data = { 10, 7, 8, 9, 1, 5 }; // BubbleSort s = new BubbleSort(); // InsertionSort s = new InsertionSort(); // SelectionSort s = new SelectionSort(); // MergeSort s = new MergeSort(); QuickSort s = new QuickSort(); int[] result = s.doSort(data); for (int i = 0; i < result.Length; i++) { Console.Write(result[i]); Console.Write(" "); } Console.WriteLine(""); Console.WriteLine("Inversion index: " + s.inversionCount); Console.WriteLine("Loop count: " + s.loopCount); }
static void Main(string[] args) { Console.WriteLine("Hello World!"); int[] testData = new int[] { 3, 2, 5, 1, 2, 3 }; int[] testData2 = new int[5] { 99, 98, 92, 97, 95 }; int[] testData3 = new int[6] { 5, 1, 1, 2, 0, 0 }; var bubbleSort = new BubbleSort <int>(); //Console.WriteLine(ConvertStringArrayToString(testData2)); //Console.WriteLine("Results:"); //Console.WriteLine(ConvertStringArrayToString(bubbleSort.Sort(testData2))); //Console.WriteLine(ConvertStringArrayToString(testData)); //Console.WriteLine("Results:"); //Console.WriteLine(ConvertStringArrayToString(bubbleSort.Sort(testData))); var quickSort = new QuickSort <int>(); Console.WriteLine(ConvertStringArrayToString(testData)); Console.WriteLine("Results:"); Console.WriteLine(ConvertStringArrayToString(quickSort.Sort(testData2))); Console.WriteLine(ConvertStringArrayToString(testData2)); Console.WriteLine("Results:"); Console.WriteLine(ConvertStringArrayToString(quickSort.Sort(testData2))); Console.WriteLine(ConvertStringArrayToString(testData3)); Console.WriteLine("Results:"); Console.WriteLine(ConvertStringArrayToString(quickSort.Sort(testData3))); Console.ReadLine(); }