package quickSort;
/**
* 快速排序
* @author root
*
*/
public class QuickSort {
static int[] data = {0,2,4,5,3,1,7,6};
public static void main(String[] args) {
// TODO Auto-generated method stub
sort(data, 0, data.length-1);
print(data);
}
//快速排序
public static void sort(int[] data, int low, int high){
if(low<high){
int mid = partition(data, low, high);
sort(data, low, mid-1);
sort(data, mid+1, high);
}
}
//以某个数字为枢轴,小的在其左,大的在其右
public static int partition(int[] data, int low, int high){
int temp = data[low];
while(low<high){
while(low<high && data[high]>temp)
high--;
data[low]=data[high];
while(low<high && data[low]<temp)
low++;
data[high]=data[low];
}
data[low]=temp;
return low;
}
public static void print(int[] data){
for(int i=1; i<data.length; i++){
System.out.println(data[i]);
}
}
}