Maison > développement back-end > Tutoriel Python > Comment implémenter une liste à chaînage unique en Python

Comment implémenter une liste à chaînage unique en Python

PHPz
Libérer: 2024-09-10 06:46:02
original
1121 Les gens l'ont consulté

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()

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!

source:dev.to
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal