问题描述
因此,我编写了一个用于quicksort的程序,当我输入较大的数组大小时,它会给我 quickSort_typeA 一个StackOverflowError,但是,对于10000这样的小尺寸,它完全可以正常工作。下面是我的代码。
public static int partition_a(int[] a,int left,int right)
{
int pivot = a[left];
while(left<=right) {
while(a[left] < pivot)
left++;
while(a[right] > pivot)
right--;
if(left<=right) {
int tmp = a[left];
a[left] = a[right];
a[right] = tmp;
left++;
right--;
}
}
return left;
}
public static void quickSort_typeA(int[] a,int i,int j) {
int idx = partition_a(a,i,j);
if(i < idx-1) {
quickSort_typeA(a,idx-1);
}
if(j > idx) {
quickSort_typeA(a,idx,j);
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)