快速排序的问题

public static void main(String[] args) {
        int arr[] = {43,23,54,12,9,44};
        quickSort(arr, 0, 5);
       
        print(arr);
    }

public static void quickSort(int[] arr,int left, int right){
        int i = left;
        int j = right;
        int key = arr[left];
        
        if(left >= right){
            return;
        }
        while(i<j){
            while(i<j && arr[j]>=key){
                j--;
            }
            while(i<j && arr[i]<=key){
                i++;
            }
            if(i<j){
                swap(arr, i, j);
            }
        
        }
        arr[left]=arr[i];
        arr[i]=key;
    
    quickSort(arr,left,i-1);
    quickSort(arr,i+1,right);
    }


为什么出现异常java.lang.ArrayIndexOutOfBoundsException: 6

dumpling473550493
浏览 1732回答 3
3回答

Aliol

表示看不懂

损失函数

快排不是很难,把你的错误代码全部贴出来。

孙百万

理解了while循环就知道卫生么数组越界了
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java