C# 快速排序算法演示代碼
2018-07-20 來源:open-open

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(); }
標簽: 代碼
版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請與原作者聯(lián)系。
最新資訊
熱門推薦