Dies wird als die Struktur der Warteschlange gegebenSwapping zwei veränderbare Werte
type 'a dqnode = {
v: 'a;
mutable next: 'a dqnode option;
mutable prev: 'a dqnode option;
}
type 'a deque = {
mutable head: 'a dqnode option;
mutable tail: 'a dqnode option;
}
Ich versuche, eine Warteschlange zu umkehren und ich weiß, dass ich die Zeiger für jeden Knoten wechseln möchten. Zum Beispiel, wenn ich ‚eine dqnode Option aus der Warteschlange zu Some n übereinstimmen, dann will ich n.next < ändern - n.prev und n.prev (im Originalzustand) < - n.next
Ist Gibt es eine Möglichkeit, eine 'dqnode'-Option am Anfang meines Codes zu speichern, so dass ich die beiden Zeiger wechseln kann?
Etwas wie:
let newnode1:'a dqnode option = n.prev in
n.prev <- n.next; n.next <- newnode1
Ansonsten habe ich mit zwei Zeigern in der n.next Position nur am Ende.