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 < k ? least : k;
Это эквивалентно,
if(least < k)
least = least;
else
least = k;
Это тройная оператор: 'состояние? ifTrue: еслиFalse'. – fge
Пожалуйста, прочтите информацию о Java на условных операторах здесь: http://docs.oracle.com/javase/tutorial/java/nutsandbolts/op2.html –