【发布时间】:2012-06-26 06:08:14
【问题描述】:
我想弄清楚,我只是需要指出正确的方向。请不要只写解决方案,我想了解我需要做什么才能使其工作。
static void bubbleSort() {
int [] a = {1,3,4,2,5};
int [] b = new int[a.length];
int j = 0;
for(int c = 0;c <= a.length;c++){//this loop doesnt even do anything???
for(int i = 0;i<a.length-j;i++){
if(a[i]>a[i+1]){
b[i] = a[i+1];
b[i+1] = a[i];
j++;
}
else{
b[i] = a[i];
b[i+1] = a[i+1];
j++;
}
}
}
for(int i = 0; i< b.length ; i++)
System.out.println(b[i]);
}
【问题讨论】:
-
您应该使用调试器逐行检查您的程序,以发现其行为与您希望的不同之处。
-
另外,如果您告诉我们究竟是什么不工作,它会有所帮助。输出是什么?你期望输出是什么?您已经尝试过哪些导致改进的方法?你认为问题可能出在哪里?使用edit 链接进行进一步改进。祝你好运! :)
-
提示:为什么要同时进行复制和排序?
-
System.out 打印什么? 1、3、2、4、5?您将您的结果保存在不同的数组中,您应该将其保存在 a 而不是 b 中,并使用临时变量来保存该值。而 c 没有做任何事情 ^^ 你没有在你的代码中使用它。您只需将其从 c 运行到 a.length
-
你基本上只是一遍又一遍地重复同样的东西。完全取消
b并仅排序a。 (在网上找一个关于冒泡排序的单词/图表描述并按照它。)
标签: java sorting bubble-sort