C#快速排序算法实例分析
本文实例讲述了C#快速排序算法。分享给大家供大家参考。具体实现方法如下:
publicstaticint[]QuickSort(int[]arr)
{
if(arr.Length<=1)
returnarr;
intpivot=arr.Length-1;
int[]less=GetLessThanEqualToPivot(arr,pivot);
int[]greater=GetGreaterThanPivot(arr,pivot);
returnConcatenate(QuickSort(less),arr[pivot],QuickSort(greater));
}
publicstaticint[]Concatenate(int[]less,intpivotElement,int[]greater)
{
List<int>_result=newList<int>();
_result.AddRange(less);
_result.Add(pivotElement);
_result.AddRange(greater);
return_result.ToArray();
}
publicstaticint[]GetLessThanEqualToPivot(int[]arr,intpivot)
{
List<int>_result=newList<int>();
for(inti=0;i<arr.Length-1;i++)
{
if(arr[i]<=arr[pivot])
{
_result.Add(arr[i]);
}
}
return_result.ToArray();
}
publicstaticint[]GetGreaterThanPivot(int[]arr,intpivot)
{
List<int>_result=newList<int>();
for(inti=0;i<arr.Length-1;i++)
{
if(arr[i]>arr[pivot])
{
_result.Add(arr[i]);
}
}
return_result.ToArray();
}
希望本文所述对大家的C#程序设计有所帮助。