Heim >Backend-Entwicklung >PHP-Tutorial >PHP-Datenstruktur: Der Charme verknüpfter Listen, Erkundung der dynamischen Datenorganisation
Eine verknüpfte Liste ist eine Datenstruktur, die eine Reihe von Knoten mit Daten und Zeigern zum Organisieren von Elementen verwendet. Sie eignet sich besonders für die Verarbeitung großer Datensätze und häufige Einfüge-/Löschvorgänge. Zu seinen Grundkomponenten gehören Knoten (Daten und Zeiger auf den nächsten Knoten) und Kopfknoten (die auf den ersten Knoten in der verknüpften Liste zeigen). Zu den gängigen verknüpften Listenoperationen gehören: Hinzufügen (Endeinfügung), Löschen (spezifischer Wert) und Durchlaufen.
Einführung
Eine verknüpfte Liste ist eine lineare Datenstruktur, deren Elemente als eine Reihe von Knoten organisiert sind, wobei jeder Knoten Daten und einen Zeiger auf den nächsten Knoten enthält . Im Gegensatz zu einem Array müssen die Elemente einer verknüpften Liste nicht zusammenhängend im Speicher gespeichert werden, was sie ideal für die Verarbeitung großer Datenmengen und häufige Einfüge- und Löschvorgänge macht.
Konzept
Die Grundkomponente einer verknüpften Liste ist ein Knoten. Jeder Knoten besteht aus den folgenden Teilen:
Verknüpfte Listen interagieren über die Hauptknotenverbindung miteinander. Der Kopfknoten ist ein spezieller Knoten, der auf den ersten Knoten in der verknüpften Liste zeigt.
Operationen
Im Folgenden sind einige gängige Operationen aufgeführt, die in verknüpften Listen implementiert sind:
class Node { public $data; public $next; } class LinkedList { private $head; // 添加新节点到尾部 public function append($data) { $new_node = new Node(); $new_node->data = $data; if ($this->head === null) { $this->head = $new_node; } else { $current_node = $this->head; while ($current_node->next !== null) { $current_node = $current_node->next; } $current_node->next = $new_node; } } // 从链表中删除特定值 public function delete($data) { if ($this->head === null) { return; } if ($this->head->data === $data) { $this->head = $this->head->next; return; } $current_node = $this->head; while ($current_node->next !== null) { if ($current_node->next->data === $data) { $current_node->next = $current_node->next->next; return; } $current_node = $current_node->next; } } // 遍历链表并打印数据 public function traverse() { $current_node = $this->head; while ($current_node !== null) { echo $current_node->data . " "; $current_node = $current_node->next; } } }
Praktischer Fall
Erstellen Sie eine verknüpfte Liste und führen Sie einige Operationen aus:
$list = new LinkedList(); $list->append(10); $list->append(20); $list->append(30); echo "链表:"; $list->traverse(); echo PHP_EOL; $list->delete(20); echo "删除 20 后:" ; $list->traverse(); echo PHP_EOL;
Ausgabe:
链表:10 20 30 删除 20 后:10 30
Das obige ist der detaillierte Inhalt vonPHP-Datenstruktur: Der Charme verknüpfter Listen, Erkundung der dynamischen Datenorganisation. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!