我试着理解下面的代码:
/**
* Simple insertion sort.
* @param a an array of Comparable items.
*/
public static void insertionSort( Comparable [ ] a )
{
for( int p = 1; p < a.length; p++ )
{
Comparable tmp = a[ p ];
int j = p;
for( ; j > 0 && tmp.compareTo( a[j-1] ) < 0; j-- )
a[ j ] = a[ j - 1 ];
a[ j ] = tmp;
}
}
但是我不知道for( ; )
是什么意思所以我需要你们的帮助。抱歉,如果它是重复的,但我在这里和谷歌搜索,但到目前为止还没有。
发布于 2011-10-20 15:30:34
for循环的第一部分是在循环开始之前发生的事情。通常它被用来赋值一个变量。
前面没有任何东西(除了括号)的";“只表示”在循环开始之前,我不想做任何事情“。没有需要赋值的变量,等等。
发布于 2011-10-21 08:15:50
这很简单:它基本上意味着
for(..a.. ; ..bb.. ; ..c..){ // }.
..a..:是您初始化的内容(如果有),或者将其保留为空。..b..:循环运行一次后,您要执行的任何检查。..c..循环运行一次后对变量的任何更改
发布于 2011-10-20 15:31:31
我猜您对第二个for循环语法有点迷惑了。它只是一个常规的for循环,没有任何初始化部分。j
必须在循环之前声明,因为它是在循环结束后在外部使用的。
https://stackoverflow.com/questions/7838349
复制相似问题