Jolie impression de listes chaînées en Python

PHPz
Libérer: 2023-08-28 08:33:09
avant
1401 Les gens l'ont consulté

Jolie impression de listes chaînées en Python

L'impression d'une liste chaînée d'une manière bien formatée et lisible est cruciale à des fins de compréhension et de débogage, et cela peut être facilement réalisé à l'aide de la fonction d'impression Pretty de Python. Cet article explore comment implémenter une jolie impression de listes chaînées en Python.

En présentant les nœuds et leurs informations associées de manière organisée et visuellement attrayante, les développeurs peuvent facilement visualiser la structure des listes chaînées, aidant ainsi à comprendre et à résoudre efficacement les problèmes. Apprenez à utiliser la puissance de Python pour améliorer la clarté de vos listes chaînées.

Comment imprimer joliment une liste chaînée en Python ?

Voici les étapes que nous suivons pour imprimer joliment une liste chaînée en Python -

Étapes (algorithme)

  • Tout d'abord, nous définissons une classe appelée Node, qui représente un seul nœud dans une liste chaînée. Chaque nœud possède un pointeur suivant et des attributs de données.

  • Ensuite, nous définissons la classe LinkedList, qui gère les listes liées. Il possède un en-tête d'attribut qui pointe vers le premier nœud de la liste chaînée. Initialement, l'en-tête est défini sur Aucun pour indiquer une liste vide.

  • La méthode
  • add_node est utilisée pour ajouter des nœuds à la liste chaînée. Il prend des paramètres de données en entrée. Dans cette méthode, nous créons un nouvel objet Node avec les données données. Si la liste chaînée est vide (c'est-à-dire que la tête est None), nous définissons le nouveau nœud comme tête. Sinon, nous commençons par le début et passons au nœud suivant jusqu'à atteindre le dernier nœud, passant ainsi à la fin de la liste. Enfin, nous ajoutons le nouveau nœud à la fin de la liste en mettant à jour la propriété suivante du dernier nœud.

  • La méthode
  • pretty_print est utilisée pour imprimer la liste chaînée dans un format lisible. Si la liste chaînée est vide (c'est-à-dire que head est None), elle imprime un message indiquant que la liste chaînée est vide. Sinon, parcourez chaque nœud depuis le début. Il garde une trace des numéros de nœuds à l'aide d'une variable de comptage et imprime les données pour chaque nœud et son numéro correspondant. La méthode poursuivra ce processus jusqu'à ce qu'elle atteigne la fin de la liste.

  • La méthode
  • get_length calcule et renvoie la longueur de la liste chaînée. Il traverse chaque nœud en commençant par la tête, en incrémentant une variable de longueur pour chaque nœud rencontré. Enfin, il renvoie la longueur totale de la liste.

  • Ensuite, nous appelons la méthode pretty_print sur l'objet linked_list pour afficher le contenu de la liste. Cela imprimera les données pour chaque nœud et son numéro correspondant.

  • Enfin, nous appelons la méthode get_length de l'objet linked_list pour calculer et imprimer la longueur de la liste.

Si nous souhaitons modifier le programme, veuillez suivre les étapes ci-dessous -

  • Vous pouvez ajouter des méthodes supplémentaires pour effectuer diverses opérations sur la liste chaînée, telles que la recherche d'une valeur spécifique, la suppression d'un nœud ou l'insertion d'un nœud à un emplacement spécifique. Ces méthodes peuvent être ajoutées à la classe LinkedList.

  • Si vous souhaitez personnaliser la classe Node, vous pouvez ajouter plus de propriétés à la classe Node pour stocker des informations supplémentaires.

  • Vous pouvez améliorer la méthode Pretty_print pour afficher plus d'informations sur chaque nœud. Par exemple, vous pouvez imprimer l'adresse mémoire de chaque nœud ou imprimer des symboles fléchés pour indiquer les liens entre les nœuds.

  • Vous pouvez modifier la méthode add_node pour insérer des nœuds au début de la liste au lieu de la fin.

  • Vous pouvez mettre en œuvre des méthodes pour inverser une liste chaînée, fusionner deux listes chaînées ou diviser une liste chaînée en deux listes distinctes.

Exemple

Dans l'exemple d'utilisation ci-dessous, nous créons un objet LinkedList, ajoutons des nœuds avec les valeurs 10, 20, 30, 40 et 50, puis appelons la méthode pretty_print pour afficher la liste. Enfin, nous appelons la méthode get_length pour récupérer la longueur de la liste chaînée et l'imprimer.

class Node:
   def __init__(self, d):
      self.d = d
      self.next = None

class LinkedList:
   def __init__(self):
      self.head = None

   def add_node(self, d):
      new_node = Node(d)
      if self.head is None:
         self.head = new_node
      else:
         curr = self.head
         while curr.next:
              curr = curr.next
         curr.next = new_node

   def pretty_print(self):
      if self.head is None:	
         print("Linked list is empty.")
      else:
         curr = self.head
         count = 1
         while curr:
            print(f"Node {count}: {curr.d}")
            curr = curr.next
            count += 1

   def get_length(self):
      length = 0
      curr = self.head
      while curr:
         length += 1
         curr = curr.next
      return length


# Example usage
linked_list1 = LinkedList()
linked_list1.add_node(10)
linked_list1.add_node(20)
linked_list1.add_node(30)
linked_list1.add_node(40)
linked_list1.add_node(50)

linked_list1.pretty_print()
print(f"Length: {linked_list1.get_length()}")
Copier après la connexion

Sortie

Node 1: 10
Node 2: 20
Node 3: 30
Node 4: 40
Node 5: 50
Length: 5
Copier après la connexion

Conclusion

En résumé, nous pouvons dire qu'en implémentant une jolie fonctionnalité d'impression pour les listes chaînées en Python, les développeurs peuvent grandement améliorer la lisibilité et la visualisation de leurs structures de données. Une représentation de liste chaînée claire et organisée facilite la compréhension et le débogage, permettant une résolution efficace des problèmes. Grâce à la flexibilité de Python, améliorer la clarté des listes chaînées est une tâche simple pour tout programmeur.

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!

Étiquettes associées:
source:tutorialspoint.com
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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!