C#快速排序算法实例分析

本文实例讲述了C#排序算法" title="快速排序算法">快速排序算法。分享给大家供大家参考。具体实现方法如下:

public static int[] QuickSort(int[] arr)

{

if (arr.Length <= 1)

return arr;

int pivot = arr.Length - 1;

int[] less = GetLessThanEqualToPivot(arr, pivot);

int[] greater = GetGreaterThanPivot(arr, pivot);

return Concatenate(QuickSort(less),arr[pivot],QuickSort(greater));

}

public static int[] Concatenate(int[] less,int pivotElement,int[] greater)

{

List<int> _result = new List<int>();

_result.AddRange(less);

_result.Add(pivotElement);

_result.AddRange(greater);

return _result.ToArray();

}

public static int[] GetLessThanEqualToPivot(int[] arr, int pivot)

{

List<int> _result = new List<int>();

for (int i = 0; i < arr.Length - 1; i++)

{

if (arr[i] <= arr[pivot])

{

_result.Add(arr[i]);

}

}

return _result.ToArray();

}

public static int[] GetGreaterThanPivot(int[] arr, int pivot)

{

List<int> _result = new List<int>();

for (int i = 0; i < arr.Length - 1; i++)

{

if (arr[i] > arr[pivot])

{

_result.Add(arr[i]);

}

}

return _result.ToArray();

}

希望本文所述对大家的C#程序设计有所帮助。

以上是 C#快速排序算法实例分析 的全部内容, 来源链接: utcz.com/z/315275.html

回到顶部