Будет ли работать алгоритм Флойда с быстрым указателем, имеющим трехступенчатый прыжок? ⇐ JAVA

Программисты JAVA общаются здесь
Anonymous
Будет ли работать алгоритм Флойда с быстрым указателем, имеющим трехступенчатый прыжок?

Сообщение Anonymous »

Код: Выделить всё

 Listnode start_node_of_loop() {
Listnode fast_ptr = head;
Listnode slow_ptr = head;
while (fast_ptr != null && fast_ptr.next != null) {
fast_ptr = fast_ptr.next.next.next;
slow_ptr = slow_ptr.next;
if (fast_ptr == slow_ptr) {
return get_the_starting_node(slow_ptr);
}
}
return null;

}

Listnode get_the_starting_node(Listnode slow_ptr) {
Listnode temp = head;
while (slow_ptr != temp) {
temp = temp.next;
slow_ptr = slow_ptr.next;
}
return temp;
}
Почему этот код не работает с быстрым указателем, у которого количество переходов или количество переходов равно трем в IDE?

Подробнее здесь: https://stackoverflow.com/questions/791 ... -jump-work

Вернуться в «JAVA»