C#中快速排序的完整代码如下:
using System;
using System.Linq;class QuickSort
{
static void Main(string[] args)
{
int[] arr = { 10, 7, 8, 9, 1, 5 };
int n = arr.Length;
QuickSort_Recursive(arr, 0, n - 1);
Console.WriteLine("Sorted array:");
Console.WriteLine(string.Join(" ", arr));
}
static void QuickSort_Recursive(int[] arr, int start, int end)
{
if (start < end)
{
int partitionIndex = Partition(arr, start, end);
QuickSort_Recursive(arr, start, partitionIndex - 1);
QuickSort_Recursive(arr, partitionIndex + 1, end);
}
}
static int Partition(int[] arr, int start, int end)
{
int pivot = arr[end];
int i = (start - 1);
for (int j = start; j < end; j++)
{
if (arr[j] <= pivot)
{
i++;
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
int temp1 = arr[i + 1];
arr[i + 1] = arr[end];
arr[end] = temp1;
return i + 1;
}
}
请注意,这段代码是一个控制台应用程序,需要使用Visual Studio或其他类似工具编译运行。