写了一个快速排序算法,运行后提示数组下表越界,之前用C写的运行无错误,改成JAVA后就出现了这个,求大神解答,谢谢
import java.util.Arrays;
public class SortQuick {
public static void main(String [] args){
int a[] = {5,7,1,4,2,3,10,9,6,8};
mySort(a,0,(a.length-1));
System.out.println(Arrays.toString(a));
}
public static void mySort(int a[],int left,int right)
{
int key = a[left];
int i = left;
int j = right;
if(left>right)
{
return;
}
while(i<j)
{
while(i<j&&a[j]>=key)
{
j--;
}
while(i<j&&a[i]<=key)
{
i++;
}
if(i<j)
{
int t = a[j];
a[j] = a[i];
a[i] = t;
}
}
a[left] = a[j];
a[j] = key;
mySort(a,left,j-1);
mySort(a,j+1,right);
}
}