using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace 快速排序
{
class Program
{
public static void Sort(int[] numbers)
{
Sort(numbers, 0, numbers.Length - 1);
}
private static void Sort(int[] numbers, int left, int right)
{
if (left < right)
{
int middle = numbers[(left + right) / 2];
int i = left - 1;
int j = right + 1;
while (true)
{
while (numbers[++i] < middle)
{
Console.WriteLine("");
}
while (numbers[--j] > middle)
{
Console.WriteLine("");
}
if (i >= j)
break;
//Swap
int number = numbers[i];
numbers[i] = numbers[j];
numbers[j] = number;
}
Sort(numbers, left, i - 1);
Sort(numbers, j + 1, right);
}
}
static void Main(string[] args)
{
int[] array = new int[] { 2, 4, 5, 1,3 };
Sort(array);
for(int i=0;i<array.Length;i++)
{
Console.WriteLine(array[i]+" ");
}
}
}
}