源代码
代码中的findMinIndex()方法如下:
private int findMinIndex( )
{
int i;
int minIndex;
for( i = 0; theTrees[ i ] == null; i++ )
;
for( minIndex = i; i < theTrees.length; i++ )
if( theTrees[ i ] != null &&
theTrees[ i ].element.compareTo( theTrees[ minIndex ].element ) < 0 )
minIndex = i;
return minIndex;
}
当中的第一个循环作用跟目的是什么?如果数组如[1,null,3,4]那么找出来的最小值不是错的?
配列内の null ではない最初の要素の添字を検索します。目的は、2 番目のステップで、minIndex で示される配列要素が null ではないことを確認することです。
2 番目のループで null がチェックされているため、[1,null,3,4] は最小値を見つけることができます