У меня возникли проблемы с созданием связанного списка в обратном порядке от определенного связанного списка.Создайте обратную ссылку LinkedList в C++ из данного LinkedList
Я родом из java-фона и просто начал делать C++.
Вы можете проверить мой код и посмотреть, что не так? Я предполагаю, что я просто манипулирую указателем и не создавая ничего нового.
//this is a method of linkedlist class, it creates a reverse linkedlist
//and prints it
void LinkedList::reversedLinkedList()
{
Node* revHead;
//check if the regular list is empty
if(head == NULL)
return;
//else start reversing
Node* current = head;
while(current != NULL)
{
//check if it's the first one being added
if(revHead == NULL)
revHead = current;
else
{
//just insert at the beginning
Node* tempHead = revHead;
current->next = tempHead;
revHead = current;
}
current = current->next;
}//end while
//now print it
cout << "Reversed LinkedList: " << endl;
Node* temp = revHead;
while(temp != NULL)
{
cout << temp->firstName << endl;
cout << temp->lastName << endl;
cout << endl;
temp = temp->next;
}
}//end method
вы пишете связанные списки вручную для удовольствия/обучения? Вы знаете, что стандартная библиотека имеет реализацию связанного списка? –
Я пытаюсь учиться. – Tony
Ошибка: вы изменяете текущий-> рядом с равным «tempHead», затем пытаетесь использовать «current = current-> next» для перехода к следующему узлу. – MerickOWA