加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-15 03:49:39 所属栏目:百科 来源:网络整理
导读:本篇章节讲解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 = G

本篇章节讲解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#程序设计有所帮助。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读