C#快速排序算法实例分析
程序员文章站
2022-07-01 17:12:38
本文实例讲述了c#快速排序算法。分享给大家供大家参考。具体实现方法如下:
public static int[] quicksort(int[] arr)
{...
本文实例讲述了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#程序设计有所帮助。
上一篇: C#使用前序遍历、中序遍历和后序遍历打印二叉树的方法
下一篇: 洛谷 P2725 邮票题解