Frage

Ich bin bei der Programmierung hübsch "grün" und ich habe morgen einen Auftrag mitbringen.Es ist fast vollständig, aber es gibt ein leichtes Problem.Ich kann das erste Element nicht entfernen und ob nach dem Löschen des ersten Elements I eingegeben Ein neuer an seinem Platz mmm .... Sagen wir einfach, ich habe stattdessen unendlich viele von ihnen eingegeben.Ich kann nicht erkennen, was das Problem ist.Vielen Dank im Voraus

generasacodicetagpre.

War es hilfreich?

Lösung

http://de.wikipedia.org/wiki/doubly_linked_list#removing_a_node

Entfernen eines Knotens ist einfacher als das Einsetzen, erfordert jedoch eine spezielle Handhabung, wenn der zu entfernende Knoten der erste Node oder das LastNode ist:

generasacodicetagpre.

Eine subtile Konsequenz des obigen Verfahrens besteht darin, dass das Löschen des letzten Knotens einer List-Sets sowohl erstknopf als auch astNODE zu NULL, und so behandelt es den letzten Knoten aus einer One-Element-Liste korrekt.

Beachten Sie, dass wir auch keine separaten "Entfernungsbedürfnisse" oder "REMAVAEFFER" -Methoden benötigen, da in einer doppelt verknüpften Liste nur "Entfernen (Node.Prev)" oder "Remove (Node.weiter)" angezeigt werden könnensind gültig.

Dies setzt auch voraus, dass der entfernte Knoten garantiert ist.

Wenn der Knoten in dieser Liste nicht vorhanden ist, ist ein Fehlerbehandler erforderlich.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top