Ich habe eine Frage zu einer Datenstruktur-Zuordnungsliste/einer einfach verknüpften Liste, die nur zum Kopf hinzugefügt wird. Die set-Funktion soll (mehrere) Schlüssel-Wert-Paare setzen und die get-Funktion sollte diese Paare bekommen- Ich verstehe nicht, wie man den Kopf (der zunächst Null sein soll) zu einem Objekt und seit der neu erstellen Knoten wird der "neue" Kopf - ich verstehe nicht, wie ich den "alten" Kopf mit seinen Schlüssel-Wert-Paaren bewegen kann. Happy über jede Hilfe! Vielen Dank!Datenstrukturverknüpfungsliste - Wie erstellt man Kopfschlüsselwertpaare?
Dies ist mein Code (nicht viel, aber weiß nicht, wie von hier überhaupt gehen zu)
function List() {
this.head=null;
}
function ListN (key, value, next) {
this.key = key;
this.value = value;
this.next = next;
}
Alist.prototype.set = function (key, value) {
// this.key=value;
var newNode=new ListN(key, value);
this.head=newNode;
};
Alist.prototype.get = function (key) {
return this.key;
};
smallList = new List();
Danke Nina! Jetzt können mehrere Schlüsselwertpaare festgelegt, aber nicht abgerufen werden. Auch das Setzen/Abrufen von einem (nicht mehreren) Schlüsselwertpaaren funktioniert nicht - ich weiß nicht warum, aber ich werde nicht definiert. – javascript2016
Vielen Dank - alles funktioniert jetzt. Was hier passiert (ich lerne Datenstrukturen, versuche es einfach zu verstehen) ist, dass zuerst der Kopf mit dem neuen Schlüsselwort "erstellt" wird, und dann fragen wir, ob head null ist oder erstellt wurde (= Wert hat), wenn ja wir fragen, ob es der gleiche Schlüssel ist und wenn ja wir zurückkommen und dann den Kopf bewegen, indem wir ihn als nächsten setzen - ist das korrekt? Außerdem müssen wir den Kopf zurückgeben, sonst würden wir, wenn wir den Kopf als nächsten setzen und den "vorherigen" nicht entfernen, irgendwie verloren gehen? – javascript2016
rechts. Aber ein Problem tritt auf, Sie erhalten nur den ersten Wert mit dem gleichen Schlüssel. Zum Aktualisieren oder Erstellen müssen Sie zuerst suchen, um Dubletten zu vermeiden. –