Ich habe den folgenden Code, um eine doppelt verkettete Liste mit Swift umzukehren. Allerdings bin ich verwirrt darüber, ob die swap
Funktion die currentNode
mit dem benachbarten Knoten vertauscht? oder tauscht es seine zwei benachbarten Knoten aus?Umkehren einer doppelt verketteten Liste mit Swift
Beispiel: verlinkte Listenwerte Darstellung: 1 -> 2 -> 3
es 1 und 2 auf dem ersten Lauf tauscht? oder tauscht es 1 und 3? Welche Werte werden beim ersten Lauf ausgetauscht?
public func reverse() {
var node = head
while let currentNode = node {
node = currentNode.next
swap(¤tNode.next, ¤tNode.previous)
head = currentNode
}
}
aber auf dem ersten Lauf, ist nicht A.prev = null? –
@ Maria9905 Es ist. Und wenn Sie die Werte tauschen, erhalten Sie A.next = null - weil Ihr erstes Element Ihr letztes Element wird. – algrid