Ich bin Anfänger in Datenstrukturen Ich konnte das Problem hier nicht erkennen. Mein Code geht während der Anzeige in die Endlosschleife. Ist dies ein richtiger Weg zu implementieren? Kann mir jemand helfen, zu diesem Problem zu kommen? Hier ist mein Code,Implementieren Sie ein doppelt verkettetes Listenprogramm, um zwei Listen an einem bestimmten Element zu verketten?
public void concatLists (Concatenate<E> list2, E ele)
{
Node<E> temp = header.getNext();
Node<E> temp1 = list2.header.getNext();
Node<E> temp2 = list2.trailer.getPrev();
Node<E> start = header.getNext();
Node<E> end = start;
while (temp != trailer)
{
if (temp.getElement() == ele)
{
start = temp;
end = temp.getNext();
}
temp = temp.getNext();
}
start.next = temp1;
temp2.next = end;
}
Fragen, die Debugging-Hilfe suchen ("Warum funktioniert dieser Code nicht?") Müssen das gewünschte Verhalten, ein bestimmtes Problem oder einen Fehler und den kürzesten Code enthalten, der in der Frage selbst reproduziert werden muss. Fragen ohne eine klare Problemstellung sind für andere Leser nicht nützlich. Siehe: Erstellen eines [mcve]. Nutze den Link [Bearbeiten], um deine * Frage * zu verbessern - füge keine weiteren Informationen über Kommentare hinzu. Vielen Dank! – GhostCat
Sie verwenden zwei Dummy-Knoten für Header und Trailer. Daher ein bisschen viel '.next'. Es ist eine gültige Technik, obwohl ich verzichten würde; es ist einfacher IMHO, nur ein "if" beim Einfügen (Kopf oder nächsten zu ändern) benötigt. –
Entschuldigung! Ich habe dich nicht verstanden. Wirst du es weiter erklären? @JoopEggen – wittyButterfly