如何解决在Java中按升序排序
我有以下代码:
for (int i = 0; i < numbers.length; i++) {
// Start looping numbers
for (int j = i; j < numbers.length; j++) {
if (numbers[j] < numbers[i]) {
int temp = numbers[j];
numbers[j] = numbers[i];
numbers[i] = temp;
}
}
}
您能解释每一行代码吗,尤其是在第一个FOR循环之后,因为我听不懂。我的任务基本上是对数字进行气泡排序,然后按升序排序。我上面发布的代码基本上是对整数排序,而我无法掌握它。当我在线搜索时,它仅显示什么是气泡排序,而没有解释代码行。
请不要建议对我的代码进行编辑或更改,因为必须这样做。我基本上从在线来源使用了此代码,但他们没有解释该代码。我想知道您的专家是否可以解释代码的作用,而不仅仅是总结正在发生的事情。谢谢!
解决方法
对于任何 i 和 j ,其中i <= j
如果numbers[j] < numbers[i]
,则我们将它们交换。
if (numbers[j] < numbers[i]) {
int temp = numbers[j];
numbers[j] = numbers[i];
numbers[i] = temp;
}
我们只是通过在内部循环中交换两个数字(如果需要)来将更大的数字移到最后。
bubble sort visualization
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。