class Node:
def __init__(self,value):
self.value = value
self.next = None
class LinkedList:
def __init__(self):
self.head = None
def add_front(self,value):
new_node = Node(value)
new_node.next = self.head
self.head = new_node
def add_back(self,value):
new_node = Node(value)
if self.head is None:
self.head = new_node
else:
current = self.head
while current.next is not None:
current = current.next
current.next = new_node
def print_list(self):
current = self.head
while current is not None:
print(current.value)
current = current.next
list1 = LinkedList()
list1.add_front(1)
list1.add_front(2)
list1.add_back(3)
list1.print_list()
1. Knotenklasse:
- Stellt ein einzelnes Element in der verknüpften Liste dar.
- Jeder Knoten hat zwei Attribute: „Wert“, um Daten zu speichern, und „Next“, um auf den nächsten Knoten in der Liste zu verweisen.
- Wenn ein Knoten erstellt wird, wird sein nächster Zeiger auf „Keine“ gesetzt.
2. LinkedList-Klasse:
- Verwaltet die verknüpften Listenoperationen.
- Verfügt über ein Attribut head, das den Ausgangspunkt der verknüpften Liste darstellt. Anfangs ist head auf „None“ gesetzt, da die Liste leer ist.
3. add_front-Methode:
- Fügt einen neuen Knoten am Anfang der verknüpften Liste hinzu.
- Ein neuer Knoten wird mit dem angegebenen Wert erstellt.
- Der nächste Zeiger des neuen Knotens wird auf den aktuellen Kopf der Liste gesetzt.
- Der Kopf der Liste wird dann auf den neuen Knoten aktualisiert.
4. add_back-Methode:
- Fügt einen neuen Knoten am Ende der verknüpften Liste hinzu.
- Ein neuer Knoten wird mit dem angegebenen Wert erstellt.
- Wenn die Liste leer ist (d. h. der Kopf ist „Keiner“), wird der neue Knoten als Kopf festgelegt.
- Wenn die Liste nicht leer ist, geht sie bis zum Ende der Liste und aktualisiert dann den nächsten Zeiger des letzten Knotens, um auf den neuen Knoten zu zeigen.
5. print_list-Methode:
- Druckt alle Werte in der verknüpften Liste vom Kopf bis zum Ende.
- Beginnt am Kopf und iteriert mit dem nächsten Zeiger durch jeden Knoten, bis er das Ende (Keine) erreicht, und gibt den Wert jedes Knotens aus.
6. Anwendungsbeispiel:
- Eine Instanz von LinkedList wird erstellt.
- add_front wird zweimal aufgerufen, um Knoten mit den Werten 1 und 2 an den Anfang der Liste hinzuzufügen.
- add_back wird aufgerufen, um einen Knoten mit dem Wert 3 am Ende der Liste hinzuzufügen.
- print_list wird aufgerufen, um die Werte aller Knoten in der verknüpften Liste zu drucken. Die Ausgabe ist 2, 1, 3, was zeigt, dass Knoten korrekt hinzugefügt wurden.
Das obige ist der detaillierte Inhalt vonSo implementieren Sie einfach verknüpfte Listen in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!
Stellungnahme:Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn