public class Home {
public static void main(String[] agrs) {
int array[]= {50,2,6,44,80,34};
qucksort(array,0, array.length-1);
for(int i=0;i<array.length;i++) {
System.out.println(array[i]+" ");
}
}
public static void qucksort(int arr[],int left,int right) {
if(left>right) {
return;
}
int base=arr[left];
//定义变量i 指向最左边
int i=left;
//指向最右边
int j=right;
while(i!=j) { //i 和j不相遇的时候进行检索
//先由j从右往左检索比基数小的则往左移
while(base <=arr[j] && i<j) {
j--;
}
while(base>= arr[i]&& i<j) {
i++;
}
int temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
arr[left]=arr[i];
arr[i]=base;
qucksort(arr, left, j-1);
qucksort(arr, j+1, right);
}
}
最后修改:2020 年 11 月 24 日
© 允许规范转载