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 日
如果觉得我的文章对你有用,请随意赞赏