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()
Copier après la connexion
1. Classe de nœud :
- Représente un élément individuel dans la liste chaînée.
- Chaque nœud a deux attributs : valeur pour stocker les données et next pour pointer vers le nœud suivant dans la liste.
- Lorsqu'un nœud est créé, son pointeur suivant est défini sur Aucun.
2. Classe LinkedList :
- Gère les opérations de liste chaînée.
- Possède un en-tête d'attribut qui est le point de départ de la liste chaînée. Initialement, head est défini sur Aucun puisque la liste est vide.
3. Méthode add_front :
- Ajoute un nouveau nœud au début de la liste chaînée.
- Un nouveau nœud est créé avec la valeur donnée.
- Le pointeur suivant du nouveau nœud est défini sur l'en-tête actuel de la liste.
- La tête de liste est ensuite mise à jour vers le nouveau nœud.
4. Méthode add_back :
- Ajoute un nouveau nœud à la fin de la liste chaînée.
- Un nouveau nœud est créé avec la valeur donnée.
- Si la liste est vide (c'est-à-dire que head est Aucun), le nouveau nœud est défini comme head.
- Si la liste n'est pas vide, elle parcourt la fin de la liste, puis met à jour le pointeur suivant du dernier nœud pour pointer vers le nouveau nœud.
5. Méthode print_list :
- Imprime toutes les valeurs de la liste chaînée de la tête à la fin.
- Commence à partir de la tête et parcourt chaque nœud en utilisant le pointeur suivant jusqu'à ce qu'il atteigne la fin (Aucun), en imprimant la valeur de chaque nœud.
6. Exemple d'utilisation :
- Une instance de LinkedList est créée.
- add_front est appelé deux fois pour ajouter des nœuds avec les valeurs 1 et 2 au début de la liste.
- add_back est appelé pour ajouter un nœud de valeur 3 à la fin de la liste.
- print_list est appelé pour imprimer les valeurs de tous les nœuds de la liste chaînée. Le résultat est 2, 1, 3, montrant que les nœuds ont été ajoutés correctement.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!