Ich erstelle ein Programm, das Daten aus einer Tabelle im CSV-Format lesen muss und es einer doppelt verknüpften Liste in C++ zuweist.Ich habe eine einfach verknüpfte Liste erstellt, aber ich bin bei ein Verlust, wie man diese Idee benutzt, um eine doppelt verknüpfte Liste zu bilden. Ich verstehe, dass Sie einen vorherigen Zeiger benötigen, aber ich bin mir nicht sicher, ob ich den Code tatsächlich implementieren soll.Erstellen Sie eine doppelt verkettete Liste in C++
Code für meine einfach verkettete Liste: zur Liste hinzuzufügen:
if (!m_head)
{
m_head = new Node(name, reference,latitude,longitude);
}
else
{
Node *current = m_head;
while (current->getNext() != 0)
{
current = current->getNext();
}
current->setNext(new Node(name, reference,latitude,longitude));
}
Bitte beachten Sie: Knoten eine separate Klasse ist zum Speichern von Daten über den Knoten z.B. Name.
[std :: list] (http://en.cppreference.com/w/cpp/container/list) ist eine doppelt verkettete Liste. – Maikel
Das Klassenobjekt benötigt eine weitere Referenz zum vorherigen Knoten. Die Funktionen der Klasse müssen am meisten geändert werden, z. B. Hinzufügen muss eine Referenz verwenden, um den neuen vorherigen Knoten zu halten, sodass die vorherige Knotenreferenz des neuen Knotens dieser zugewiesen werden kann. Die Logik ist ziemlich einfach. –
Müssen Sie etwas selbst implementieren? – alessalessio