-Создать новый узел и сохранить переданные данные. Установить текущий указатель на заголовок.
Node * newNode = new Node(s);
current=head;
-Вы должны пройти через LinkedList, используя цикл, который проверяет значения каждого узла, используя 2указатели, один из которых следует за тем, который проверяет значения узла.
while(current->data != insertAfter-
>data)
{
current=current->next;}
-Как только правильный узел найден с током, цикл должен остановиться.Установите следующий указатель нового узла на следующий указатель insertAfter и указатель prev на узел insertAfter.
newNode->next = insertAfterNode->next;
newNode->prev = insertAfterNode;
-Вы затем установите следующий указатель тока на узел, который хотите вставить.
current->next = newNode;
Кроме того, обязательно добавьте каждый потенциальный случай.Если это хвост, который был вставлен после, убедитесь, что указатель хвоста установлен в newNode и такой же, если он вставлен в заголовок.После обхода цикла поместите:
if(tail->data==current->data)
{
tail = newNode;
}
if(head->data==current->data)
{
head=newNode;
}
Edit: поскольку это дважды LinkedList, вместо trailCurrent может быть реализован указатель prev, который вообще не нужен.