当前位置: 移动技术网 > IT编程>开发语言>c# > C#快速排序算法实例分析

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

2019年07月18日  | 移动技术网IT编程  | 我要评论

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

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网