Функция для перемещения элементов в конец двусвязного списка до определенного индекса - PullRequest
0 голосов
/ 13 декабря 2018

Например, учитывая двойной связанный список с {4, 5, 6, 7} и индексом 2, функция должна приводить к тому, что узел будет {6, 7, 4, 5}.Возможно ли это сделать без создания временного узла?

В моей реализации есть голова и хвост, оба равны нулю.Узлы могут быть доступны с помощью следующего / предыдущего.

Любая помощь будет принята с благодарностью!

1 Ответ

0 голосов
/ 13 декабря 2018

Я не уверен, как вы это реализовали.Но это то, как я бы сделал это в качестве псевдокода.

tail.prev.next = head.next
head.next.prev = tail.prev
tail.prev = head.next
head.next = head.next.next
tail.prev.next = tail
head.next.prev = head

Допущения:

1) Головные и хвостовые узлы присутствуют, и они связаны с первым узлом и последним узлом,соответственно.

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