Heim >Web-Frontend >js-Tutorial >Lernen von Datenstrukturen: Verwenden von JavaScript zum Implementieren verknüpfter Listenoperationen (detaillierte Beispiele)
Dieser Artikel vermittelt Ihnen relevantes Wissen über die Verwendung von JavaScript zur Implementierung verknüpfter Listen beim Lernen von Datenstrukturen. Ich hoffe, dass er Ihnen hilfreich sein wird.
Die verknüpfte Liste weist die folgenden Eigenschaften auf:
kann den Raum dynamisch erweitern (in js gilt das Gleiche für Arrays, aber in einigen Sprachen ist die Länge des Arrays festgelegt und kann nicht festgelegt werden dynamisch hinzugefügt, z. B. C-Sprache )
Benötigen Sie einen Hauptknoten
Sie müssen die Adresse des nächsten Knotens kennen
Sie können sich jeden Knoten in der verknüpften Liste als Objekt vorstellen. Dieses Objekt hat zwei Attribute, eines ist der Wert des Knotens und eines ist die Adresse des nächsten Knotens des Knotens (wenn es sich um eine doppelt verknüpfte Liste handelt, muss auch das Attribut der vorherigen Knotenadresse hinzugefügt werden)
//在尾节点处添加节点 function append(element){ let node = new node(element); let current; if(head == null){ current = node }else{ while(current.next){ current = current.next; } current.next = node } length++; }
Codeanalyse:
Analyse :
Weisen Sie diesem Knoten das nächste Attribut des vorherigen Knotens an dieser Position zu, speichern Sie seinen ursprünglichen nächsten Knoten und weisen Sie ihn dem nächsten Attribut des aktuellen Knotens zu.
function insert(position,element){ let node = new Node(element); let current = head; let previous;//当前节点的前一个节点,在position处添加节点,就是在previos和current之间添加 if(position = 0){ node.next = head; head = node; }else{ for(let i = 0;i< position;i++){ pervious = current; current = current.next; } pervious.next = node; node.next = current; } length++; return true; }
Code-Analyse:
function removed(element){ let node = new Node(element); let pervious; let nextNode; let current = head; if(head != null){ while (current != node){ pervious = current; current = current.next; nextNode = current.next; } pervious.next = nextNode; length--; return true; }else{ return false; } }2. Fragen Sie ab, welche Position ein bestimmter Knoten hat
function removedAt(position){ let current = head; let pervious; let nextNode; let i = 0; while(i < position){ pervious = current; current = current.next; nextNode = current.next; } pervious.next = nextNode; length--; return true; }
Zusammenfassung der Ideen Über die verknüpfte Liste Es gibt viele weitere Operationen, darunter doppelt verknüpfte Listen (Hinzufügen eines vorherigen Knotens beim Initialisieren des Knotens) und zirkulär verknüpfte Listen (Der nächste Knoten des Endknotens ist der Kopfknoten.) Diese verknüpften Listenoperationen können auch mit js implementiert werden, hier gibt es nicht viel zu sagen. Zusammenfassend lässt sich sagen, dass der Kern der verknüpften Liste darin besteht, dass der Knoten in der verknüpften Liste als Objekt mit zwei Attributwerten betrachtet werden kann, einer als Knotenwert und der andere als Zeiger. Das Hinzufügen und Löschen der verknüpften Liste bedeutet eine Änderung Der Zeiger zeigt. Beim Durchsuchen der verknüpften Liste ist der Schlüsselpunkt aktuell = aktuell.nächster
【Verwandte Empfehlung:Das obige ist der detaillierte Inhalt vonLernen von Datenstrukturen: Verwenden von JavaScript zum Implementieren verknüpfter Listenoperationen (detaillierte Beispiele). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!