【发布时间】:2013-08-06 01:03:33
【问题描述】:
尝试实现递归方法对整数数组进行排序:
public static void bubbleSort(int[] arr, int n){
int index = n-1;
System.out.println("Round number: " + n);
System.out.println(Arrays.toString(arr));
while(index>=1)
{
if(arr[index] < arr[index-1])
swap(arr, index, index-1);
index--;
}
if(n>1)
bubbleSort(arr, n-1);
}
}
前几轮似乎工作正常,将集合中的最小整数移到前面,但它只是在中途停止工作。知道为什么吗?谢谢!
【问题讨论】:
-
停止工作,意味着?程序是否崩溃,输出不正确的值或抛出异常?
stop working是通用的 -
@Sello 这意味着他在一个小的测试集上尝试过它并且它有效,当他在一个更大/更复杂的测试集上尝试它时它没有完成排序(输出是一个未排序的数组)
标签: java arrays sorting recursion