【发布时间】:2011-12-09 12:42:35
【问题描述】:
我正在尝试用 Java 编写递归冒泡排序,但遇到了索引越界异常。我做错了什么,为什么会出现此错误? 这是我的代码:
public static <T extends Comparable< ? super T>>
void sort(T [] a){
T tmp;
for(int i=0;i<a.length;i++){
if(a[i].compareTo(a[i+1])>0){
tmp = a[i];
a[i]=a[i+1];
a[i+1]=tmp;
sort(a);
}
System.out.println("i:"+i+" "+a[i]);
}
另外,即使它对数组进行排序并且最后我得到错误,它正在打印所有步骤,我如何让它打印最后一个最终排序的数组? 可能是一个简单的答案,但我的大脑现在被炸了,无法思考。 提前致谢。
【问题讨论】:
标签: java arrays sorting recursion bubble-sort