using System.Diagnostics;
public static void Main()
var array = Enumerable.Range(0, 10000).Select(x => new Random(x).Next(0, 1000)).ToArray();
var w = Stopwatch.StartNew();
Sort(array, 0, array.Length - 1);
Console.WriteLine(w.Elapsed);
private static void Sort(int[] elements, int left, int right)
int pivot = elements[(left + right) / 2];
while (elements[i] < pivot)
while (elements[j] > pivot)
elements[i] = elements[j];
Sort(elements, i, right);