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

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

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

lele   2021-03-21 我要评论
想了解C#快速排序算法实例分析的相关内容吗,lele在本文为您仔细讲解C#快速排序算法的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:C#,快速排序算法,下面大家一起来学习吧。

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

猜您喜欢

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们