Вот один из способов идентификации узла по значению.
void search(int value)
{
node *temp=new node;
temp=head;
int pos = 1;
while(temp!=NULL)
{
if(temp->data == value)
{
cout << "" << value << " is at position: " << pos << endl;
break;
}
else if (temp->next == NULL && temp->data != value)
{
cout << "" << value << " is not part of the linked list" << endl;
break;
}
temp=temp->next;
pos++;
}
}
Этот пример кода соответствует тому, чего вы хотите достичь.Легче найти узел по значению внутри цикла.Когда узел найден, просто разорвите цикл.Если мы находимся на последнем узле, а значение не существует, это означает, что значение и впоследствии узел не является частью связанного списка, который проверяет условие «else if».