快速排序

现在给定一个整数数组,请用快速排序算法对该数组进行排序。
输入、输出描述
输入:
a:待排非空整数数组
输出:
排序后的数组
Example
输入:
a=[3,1,4,2]
输出:
[1,2,3,4]
代码:
import java.util.*;

public class Main {

  public static void main(String[]args){
  
    int[] a=new int[]{3,1,4,2};
    int[] result=new Main().solution(a);
    System.out.println(Arrays.toString(result));
  }
 

 public int[] solution(int[] a) {

	QuickSort(a,0,a.length-1);
  
        return a;
    }
  public void QuickSort(int[]a,int first,int last){
 	int i=first,j=last,temp;
    if(i<j){
      temp=a[i];
      while(i!=j){
        while(j>i&&a[j]>=temp)
      		j--;
        a[i]=a[j];
        while(i<j&&a[i]<=temp)
          i++;
        a[j]=a[i];
      }
      a[i]=temp;
      QuickSort(a,first,i-1);
      QuickSort(a,i+1,last);
    }
  
  
  }
}
一个创业中的苦逼程序员
评论专区

隐藏