Вставка двусвязного списка после / перед узлом - PullRequest
0 голосов
/ 23 сентября 2019

Для большинства онлайн-примеров, которые я нашел для вставки в двусвязные списки, общий мотив состоит в том, чтобы определить структуру или класс узла с помощью * next, * prev и data, а затем определить класс List, обычно с такими параметрами вставки:

InsertFront (данные)

InsertBack (данные)

InsertAfter (* узел, данные)

InsertBefore (* узел, данные)

Предполагается, что для двух последних методов, вставляемых до или после узла, у вас есть узел под рукой.Мой вопрос: откуда вы берете этот узел в обычной рабочей последовательности?Почему пользователь Clist должен знать, что такое внутренний узел, и если я делаю узел, например, внутренним закрытым классом или структурой в CList, то почему я должен передавать его, чтобы вставить после / до? *

Я знаю, что могу альтернативно использовать AddAfter (int pos, data) для добавления в определенной позиции, но для этого потребуется обход списка до тех пор, пока я не достигну этого индекса позиции?

...