2 Stimmen

Wie kann man eine verknüpfte Liste in einer einzelnen for-Schleife umkehren?

Mögliches Duplikat:
Umkehrung einer einfach verketteten Liste

Wie kann man eine einfach verknüpfte Liste in einer einzelnen for-Schleife umkehren? Dies war die Frage, die in einem Interview gestellt wurde.

1voto

Konstantin Dinev Punkte 32517

In Pseudocode würde dies wie folgt aussehen:

// Cache the start element
current = first;
next = current->next;
while (next != null) {
   // Cache the next pointer to not lose the reference
   temp = next->next;
   next->next = current;
   // Increment
   current = next;
   next = temp;
}
first = current;

Ich weiß, es ist nicht in einer for-Schleife, aber es kann leicht umgeschrieben werden, um zu sein. Mit der while-Schleife wird es ein bisschen lesbarer.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X