简单的快速排序

//简单的java快速排序
//效率较低,还可以进一步优化
public class MyQuickSorted {
public static void main(String[] args) {
int[] array={12,24,9,74,23,15,67,198,47,567,981};

quickSorted(array,0,array.length-1);

print(array);

}
public static void quickSorted(int[] a,int start,int end){
int i,j;
i=start;
j=end;

if((a==null)||(a.length==0))
return;
//控制最基本的数据,查找不符合条件的值,然后交换
while(i<j){
while(i<j&&a[i]<=a[j]){
j--;//右侧扫描
}
if(i<j){
int temp=a[i];
a[i]=a[j];
a[j]=temp;
}
while(i<j&&a[i]<=a[j]){
i++;//左侧扫描
}
if(i<j){
int temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
//递归调用自身
if(i-start>1){
quickSorted(a,start,i-1);
}
if(end-i>1){
quickSorted(a,i+1,end);
}
}
private static void print(int[] array){
for(int i=0;i<array.length;i++){
System.out.print(array[i]+" ");
}
}
}

原文地址:https://www.cnblogs.com/TankRuning/p/3672757.html