В вашем коде evenStart, evenEnd, oddStart, oddEnd
- это просто ссылки, которые при запуске указывают на null
, но когда он встречает первый элемент (предположим, Odd
), тогда следующий код будет запускать
if(oddStart==null){
oddStart=temp;
oddStart.next=null;
oddEnd=oddStart;
}
Здесь, во второй строке oddStart.next=null
, он не только изменит next
из oddStart
, но также изменит next
из temp
. Благодаря этому, если вы раскомментируете все, ваш код будет запускать цикл только один раз (потому что в первый раз temp
следующий узел будет указывать на null
).
То же относится ко всем комментариям. Вы можете print
temp.data
в цикле, чтобы проверить вышеуказанный факт.