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#程序设计有所帮助。