Quick Sort 快速排序Java版
package com.maple.quicksort;
/**
* @author RhymeChiang
* @date 2017/12/02
**/
public class QuickSort2 {
public static int [] quickSort(int left,int right,int a[]){
if(a==null||left>=right){
return a;
}
int le = left;
int rig = right;
boolean rightGet = false;
boolean leftGet = false;
while(le < rig){
if(a[rig]<a[left]){
rightGet=true;
}else{
rig--;
}
if(a[le]>a[left]){
leftGet=true;
}else{
le++;
}
if(rightGet&&leftGet){
int tmp = a[le];
a[le]=a[rig];
a[rig]=tmp;
rightGet=false;
leftGet=false;
rig--;
le++;
}
}
int tmp = a[left];
a[left]=a[rig];
a[rig]=tmp;
quickSort(left,le-1,a);
quickSort(le+1,right,a);
return a;
}
public static void main(String[] args) {
int a [] = new int[]{6, 1, 2, 7, 9, 3, 4, 5, 10, 8};
int[] sort = quickSort(0, a.length-1, a);
for (int i = 0; i <sort.length; i++) {
System.out.print(sort[i]+" ");
}
}
}
