Я хочу, чтобы quicksort algoritm.I изучал алгоритм быстрой сортировки.Быстрая сортировка Java. ArrayIndexoutofBoundsException
Out: ArrayIndexoutofBoundsException error.I не удалось найти ошибку.
Я не очень хорошо владею английским языком. Как решить эту проблему?
public class Quickort {
static int partition(int arr[],int left,int right){
int i=left;
int j=right;
int tmp;
int pivot=(left/right)/2;
while(i<=j){
while(arr[i]<pivot)
i++;
while(arr[j]>pivot)
j--;
if(i<=j){
tmp=arr[i];
arr[i]=arr[j];
arr[j]=tmp;
i++;
j--;
}
}
return i;
}
static void quicksort(int arr[],int left,int right){
int index=partition(arr,left,right);
if(left<index-1)
quicksort(arr, left, index-1);
if(index<right)
quicksort(arr, index, right);
}
public static void main(String[] args) {
int [] arr={8,4,1,7,9,4,3,2,5};
quicksort(arr,0,arr.length-1);
}
}
Пожалуйста, добавьте полную трассировку стека и отметьте линию, где происходит ошибка – Jens
разрешенное. 'code' pivot = arr [(left + right)/2]; – myvalley