for(k = i - 1; k >= 0; k--) {
if(frame[j] == page[k])
break;
least = least < k ? least : k;
}
我不明白这条线 “least = least < k ? least : k;
”替换算法
任何一个可以解释这对我
for(k = i - 1; k >= 0; k--) {
if(frame[j] == page[k])
break;
least = least < k ? least : k;
}
我不明白这条线 “least = least < k ? least : k;
”替换算法
任何一个可以解释这对我
这相当于
least = Math.min(least, k);
或
if (!(least < k)) {
least = k
}
另请参阅:the Java documentation on the ternary operator(滚动到“条件运算符”部分)。
我将难以置信地迂腐,并指出“最少=最少” k?最少:k;'不完全等同于'if(!(least
least = least < k ? least : k;
这相当于,
if(least < k)
least = least;
else
least = k;
这是一个三元运算符:'条件? ifTrue:ifFalse'。 – fge
请在这里阅读有关条件运算符的Java信息:http://docs.oracle.com/javase/tutorial/java/nutsandbolts/op2.html –