【发布时间】:2017-08-25 09:59:27
【问题描述】:
我正在尝试实现一个简短的排序算法,但它根本不起作用。有更多编程经验的人有任何提示吗?数组未排序,最终打印中多次出现多个值。为什么?
public static void main(String[] args) {
// Sort the data
int[] array = {1,5,2,3,6,2,29,-2,23,3};
for (int i = 0; i<array.length-1; i++) {
if (array[i] > array[i+1]) {
array[i+1] = array[i];
array[i] = array[i+1];
}
}
// Print the data.
for (int i = 0; i<array.length; i++) {
System.out.print(i+ ", ");
}
}
【问题讨论】:
-
“不起作用”是什么意思?尝试更明确。您是否尝试过使用调试器?
-
您的排序逻辑已关闭。这看起来有点像冒泡排序,但它只有 2 步而不是 3 步。
-
此代码也无法编译。
-
如果您告诉我们您实际得到的结果会很有帮助。我看到的一个问题是您只通过数组进行一次传递,而冒泡排序(看起来像这样)需要嵌套循环。
标签: java arrays function sorting main