基本上,在这个程序中,我被指示创建一个随机数组,然后通过使用for循环的冒泡排序将它们从最小到最大排序。经过一系列的反复试验,我的伙伴和我能够弄清楚,但我只是回顾一下我的代码,老实说,这很难理解......我不太熟悉使用嵌套循环,所以如果有人能解释这个方法是如何工作的,那就太棒了。更具体地说,值j
和i
代表什么。
public void sort() {
int val = 0;
for(int i = 0; i < myArray.length; i++) {
for(int j = 1; j < (myArray.length - i); j++) {
if(myArray[j-1] > myArray[j]) {
val = myArray[j-1];
myArray[j-1] = myArray[j];
myArray[j] = val;
}
}
}
}
非常感谢任何答案,谢谢伙计们/加尔斯!
答案 0 :(得分:0)
i
和j
很短,除了表示您在数组中的索引之外没有其他内在含义。第一个for循环是为了对数组中的多个项重复第二个循环和排序方法。第二个循环进行排序。
if(myArray[j-1] > myArray[j]) { // Checks if the index `j` in the array is less than the one before it.
val = myArray[j-1]; // Temporarily stores the greater value.
myArray[j-1] = myArray[j]; // Swap the numbers.
myArray[j] = val; // Swap the numbers.
}