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

C# 快速排序算法演示代码

发布时间:2020-12-15 17:54:59 所属栏目:百科 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 public static int[] QuickSort(int[] arr){ if (arr.Length = 1) return arr; int pivot = arr.Length - 1; int[] less = GetLessThanEqualToPivot(a

以下代码由PHP站长网 52php.cn收集自互联网

现在PHP站长网小编把它分享给大家,仅供参考

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();
}                

以上内容由PHP站长网【52php.cn】收集整理供大家参考研究

如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。

(编辑:李大同)

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

    推荐文章
      热点阅读