было просто интересно, как мне интерпретировать этот код?
Этот вопрос слишком широкий и на него нельзя ответить.
вещь, которая отбрасывает менянаибольшее значение имеет minOfTail = next.minVal () part
На этот вопрос можно ответить.
Таким образом, всю функцию minVal()
можно переписать следующим образом:
public int minVal()
{
if ( next == null )
return thisNumber;
return Math.min( thisNumber, next.minVal() );
}
Или даже так:
public int minVal()
{
return next == null? thisNumber : Math.min( thisNumber, next.minVal() );
}
Итак, next.minVal()
просто вызовет узел next
для вычисления собственного минимального значения, а следующий узел делегирует свой следующий узели так далее до тех пор, пока не останется следующий узел.
Обратите внимание, что это:
int minOfTail;
... unrelated code here...
minOfTail = next.minVal();
- это древний стиль C (стиль C до того, как компиляторы C начали влиять на C ++), этоэто вообще не распространено в Java, это неразумно делать на любом языке, и в наши дни это обычно осуждают.