"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment implémenter une liste à lien unique en Python

Comment implémenter une liste à lien unique en Python

Publié le 2024-11-02
Parcourir:656

How to Implement Singly Linked List in Python

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. 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.
  • L'en-tête de la liste est ensuite mis à 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), 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, indiquant que les nœuds ont été ajoutés correctement.
Déclaration de sortie Cet article est reproduit sur : https://dev.to/thirumalesh/how-to-implement-singly-linked-list-in-python-40kc?1 En cas de violation, veuillez contacter [email protected] pour supprimer il
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3