C#实现快速排序的完整代码
时间: 2024-05-15 08:11:45 浏览: 104
C#实现快速排序的完整代码如下:
```
using System;
class QuickSort
{
static void Main()
{
int[] arr = { 78, 55, 45, 98, 13 };
int n = arr.Length;
quickSort(arr, 0, n - 1);
Console.WriteLine("排序后的数组:");
printArray(arr, n);
}
static void quickSort(int[] arr, int left, int right)
{
if (left < right)
{
int pivot = partition(arr, left, right);
quickSort(arr, left, pivot - 1);
quickSort(arr, pivot + 1, right);
}
}
static int partition(int[] arr, int left, int right)
{
int pivot = arr[right];
int i = left - 1;
for (int j = left; j <= right - 1; j++)
{
if (arr[j] < pivot)
{
i++;
swap(arr, i, j);
}
}
swap(arr, i + 1, right);
return i + 1;
}
static void swap(int[] arr, int i, int j)
{
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
static void printArray(int[] arr, int size)
{
for (int i = 0; i < size; i++)
Console.Write(arr[i] + " ");
Console.WriteLine();
}
}
```
以上代码实现了快速排序的功能,它首先定义了一个数组,然后调用quickSort方法进行排序,quickSort方法实现了快速排序算法,它将数组分成两个部分,然后对左右两个部分分别进行快速排序。partition方法实现了将数组分成两个部分的功能,它以数组中最后一个元素作为pivot,将小于pivot的元素放在pivot左边,大于pivot的元素放在pivot右边。swap方法用于交换数组中的两个元素。最后printArray方法用于打印排序后的数组。
阅读全文