首页 > 编程 > C# > 正文

C#快速排序算法实例分析

2020-01-24 01:54:34
字体:
来源:转载
供稿:网友

本文实例讲述了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#程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表