For loop 需要解释的嵌套循环
基本上,在这个程序中,我被指示创建一个随机数数组,然后通过for循环的气泡排序将它们从最小到最大排序。经过一系列的尝试和错误,我的朋友和我都能找到答案,但我只是回顾了一下我的代码,说实话,这很难理解。。我不太熟悉嵌套循环,所以如果有人能解释这个方法是如何工作的,那就太棒了。更具体地说,值For loop 需要解释的嵌套循环,for-loop,methods,For Loop,Methods,基本上,在这个程序中,我被指示创建一个随机数数组,然后通过for循环的气泡排序将它们从最小到最大排序。经过一系列的尝试和错误,我的朋友和我都能找到答案,但我只是回顾了一下我的代码,说实话,这很难理解。。我不太熟悉嵌套循环,所以如果有人能解释这个方法是如何工作的,那就太棒了。更具体地说,值j和i代表什么 public void sort() { int val = 0; for(int i = 0; i < myArray.length; i++) { f
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;
}
}
}
}
public void sort(){
int-val=0;
for(int i=0;imyArray[j]){
val=myArray[j-1];
myArray[j-1]=myArray[j];
myArray[j]=val;
}
}
}
}
非常感谢您的回答,谢谢各位
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.
}
i
和j
只是循环变量-它们不代表任何东西。