package kuaisu;
import java.util.Arrays;
public class Demo {
public static void main(String []args){
int []arr={3,566,87,237,87,2,47,7};
sort(arr,0,arr.length-1);
System.out.println(Arrays.toString(arr));
}
private static void sort(int[] arr, int start, int end) {
int i=start;
int j=end;
if((arr==null)||(arr.length==0)){
return ;
}
while(i<j){
while(i<j&&(arr[i]<=arr[j])){
j--;//从j开始,向左扫描,找到一个比arr[i]小的
}
if(i<j){
// 如果有 则,交换数据
int temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
while(i<j&&(arr[i]<arr[j])){
i++;//从i开始,向右扫描,找到一个比arr[i]大的
}
if(i<j){
// 如果有 则,交换数据
int temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
}//while
if(i-start>1){
sort(arr,start, i-1);
}
if(end-i>1){
sort(arr,i+1,end);
}
}
}
快速排序
最新推荐文章于 2021-11-19 16:57:43 发布