эти два утверждения эквивалентны в круговом связанном списке? - PullRequest
0 голосов
/ 11 марта 2020

Новичок в круговом связанном списке, мне интересно, делают ли они то же самое, что и в учебнике Гудрича, показывает дно, но я «чувствую», что верх делает то же самое.

tail = new Node(s, tail);
//----------------------------------------------------
tail = new Node(s, null);
tail.setNext(tail);

1 Ответ

1 голос
/ 11 марта 2020

Нет, они не совпадают, потому что значение tail в первой версии является старым значением, а значение tail во второй версии является новым значением, то есть новым Node. .

Этот код действительно имеет смысл, только если список пуст во время выполнения кода, иначе вы не захотите, чтобы новый узел называл себя next. В этом случае старое значение tail равно нулю, что означает, что первая версия совпадает с:

tail = new Node(s, null);

Это делает очевидным, что две версии не совпадают.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...