欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-04-11 08:25:13
本文实例讲述了c#快速排序算法。分享给大家供大家参考。具体实现方法如下: public static int[] quicksort(int[] arr) {...

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