package FirstDay;
public class QuickSort {
public static void Sort(Integer[]array,int left,int right){
if(left>right) {//递归退出条件
return;
}
int tmp=array[left];
int i=left;
int j=right;
while(i<j) {
//当i,j满足条件时,进行比较
while(array[j]>array[i]) {
j--;
}
while(array[i]<array[j]) {
i++;
}
if(i<j) {
int p=array[i];
array[i]=array[j];
array[j]=p;
i++;
j--;
}
}
int p=array[i];
array[i]=tmp;
tmp=p;
Sort(array, left, i-1); //递归调用,比较前半部分
Sort(array, i+1, right);//递归调用,比较后半部分
}
public static void main(String[] args) {
Integer []array={1,2,5,8,9,5,234,57};
Sort(array, 0, array.length-1);
for(int i=0;i<array.length;i++) {
System.out.println(array[i]);
}
}
}