C#快速排序算法实例分析
时间:2021-09-09 09:52:18|栏目:.NET代码|点击: 次
本文实例讲述了C#快速排序算法。分享给大家供大家参考。具体实现方法如下:
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#程序设计有所帮助。
上一篇:ASP.NET中TextBox使用Ajax控件显示日期不全的问题解决方法
栏 目:.NET代码
本文标题:C#快速排序算法实例分析
本文地址:http://www.codeinn.net/misctech/173742.html






