Table des matières
Liste liée en Python
Ajouter un élément au début
Algorithme
Exemple
Sortie
Ajouter un élément à la fin
Maison développement back-end Tutoriel Python Programme Python : ajouter des éléments à la première et à la dernière position de la liste chaînée

Programme Python : ajouter des éléments à la première et à la dernière position de la liste chaînée

Aug 23, 2023 pm 11:17 PM
链表 Ajouter un élément

Programme Python : ajouter des éléments à la première et à la dernière position de la liste chaînée

En Python, une liste chaînée est une structure de données linéaire composée d'une séquence de nœuds, chaque nœud contenant une valeur et une référence au nœud suivant dans la liste chaînée.

Dans cet article, nous verrons comment ajouter des éléments à la première et à la dernière position d'une liste chaînée en Python.

Liste liée en Python

Une liste chaînée est une structure de données de référence utilisée pour stocker un ensemble d'éléments. D'une certaine manière, cela ressemble à un tableau, mais dans un tableau, les données sont stockées dans des emplacements mémoire contigus, alors que dans une liste chaînée, les données ne sont pas soumises à cette condition. Cela signifie que les données ne sont pas stockées de manière séquentielle mais aléatoire en mémoire.

Cela soulève une question : comment pouvons-nous accéder aux éléments d'une liste chaînée ? La réponse est assez intuitive dans une liste chaînée, un élément pointe vers un autre jusqu'à la fin de la liste.

Le début et la fin de la liste sont considérés comme des positions spéciales. Le début de la liste s'appelle la tête, il pointe vers le premier élément, et le dernier élément est spécial dans le sens où il pointe vers NULL.

Head -> data_1 -> data_2 -> … -> data_n -> NULL
Copier après la connexion

Maintenant que nous savons comment accéder au début et à la fin d'une liste chaînée, voyons comment parcourir les éléments et accéder aux données de la liste chaînée.

Parcourir une liste chaînée est très simple, nous commençons simplement par le début et accédons au nœud suivant ; nous répétons ce processus jusqu'à ce que nous trouvions un nœud dont le nœud suivant est NULL. Quant à l'accès aux données dans un nœud, nous utilisons l'opérateur fléché "->".

Head->data
Copier après la connexion

Nous avons désormais toute la compréhension nécessaire pour commencer à résoudre ce problème.

Ajouter un élément au début

Pour ajouter les données au début de la liste chaînée, nous devons prendre en compte l'en-tête de la liste chaînée. Chaque fois que nous ajoutons un nœud au début de la liste chaînée, la liste chaînée sera modifiée avec le nœud nouvellement ajouté. le premier nœud/tête de liste

.

Algorithme

Étape 1 – Créez le nouveau nœud

Étape 2 - Ajouter des données au nœud nouvellement créé

Étape 3 – Mettez à jour le lien du nouveau nœud et faites-le pointer vers le nœud principal actuel

Étape 4 - Placez maintenant le pointeur de tête sur le nœud nouvellement créé

REMARQUE - L'ordre de ces étapes est très important car si vous définissez d'abord le nœud nouvellement créé comme nœud principal, nous ne pourrons pas mettre à jour le lien du nouveau nœud, qui devrait idéalement pointer vers le nœud principal précédent. .

Exemple

class Node:
   def __init__(self, data):
      self.dataPart = data
      self.nextNode = None
class LinkedList:
   def __init__(self):
      self.headNode = None
   def showList(self):
      n = self.headNode
      while n is not None:
         print(n.dataPart, end='-')
         n = n.nextNode
      print('')
   def addBeginList(self, data):
      tempNode = Node(data)
      tempNode.nextNode = self.headNode
      self.headNode = tempNode
newLinkedList = LinkedList()
print("Printing the list before adding element : ")
newLinkedList.showList()
newLinkedList.addBeginList(10)
newLinkedList.addBeginList(25)
print("Printing the elements after adding at the beginning of the list")
newLinkedList.showList()
Copier après la connexion

Sortie

Printing the list before adding any element :
\
Printing the elements after adding at the beginning of the list
25-10-\
Copier après la connexion

Ajouter un élément à la fin

L'ajout d'éléments à la fin est logiquement différent de l'ajout au début de la liste. Cette fois, nous devons accéder au dernier nœud de la liste au lieu du premier nœud, c'est-à-dire la tête.

Maintenant le problème est de vérifier si la liste à laquelle on veut ajouter des éléments est une liste vide ou si elle contient déjà des éléments.

Si la liste est vide alors le nouveau nœud sera le premier nœud de la liste, et dans l'autre cas, ce sera le dernier nœud. Pour cela, nous devons vérifier si le nœud principal est Aucun ou non. traité vide de tête est Aucun, et pas vide sinon

.

Algorithme

Étape 1 – Créez un nouveau nœud.

Étape 2 - Ajoutez des données à la section de données du nœud.

Étape 3 – Assurez-vous que le nœud suivant du nœud nouvellement créé pointe vers le pointeur Aucun ou Null.

Étape 4 - Si la liste est vide, utilisez le nœud nouvellement créé comme nœud principal.

Étape 5 - Sinon, parcourez jusqu'à la fin de la liste, dernier nœud.

Étape 6 – Définissez le nœud suivant du dernier nœud sur le nœud nouvellement créé.

Exemple

class Node:
   def __init__(self, data):
      self.dataPart = data
      self.nextNode = None
class LinkedList:
   def __init__(self):
      self.headNode = None
   def showList(self):
      n = self.headNode
      while n is not None:
         print(n.dataPart, end='-')
         n = n.nextNode
      print("")
   def addEndList(self, data):
      tempNode = Node(data)
      if self.headNode is None:
         self.headNode = tempNode
      else:
         n = self.headNode
         while n.nextNode is not None:
            n = n.nextNode
            n.nextNode = tempNode
newLinkedList = LinkedList()
print("Printing the list before insertion : ")
newLinkedList.showList()
newLinkedList.addEndList(25)
newLinkedList.addEndList(10)
print("Printing the list after adding elements at the end of the list : ")
newLinkedList.showList()
Copier après la connexion

Sortie

Printing the list before insertion :
\
Printing the list after adding elements at the end of the list :
25-10-\
Copier après la connexion
Conclusion

Dans cet article, nous avons expliqué comment utiliser les classes Python pour implémenter une

liste liée et comment ajouter des éléments à une liste liée. Nous nous sommes concentrés sur l'ajout d'éléments au début et à la fin de la liste.

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!

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Vous avez un jeu croisé?
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Recherchez le nième nœud de la dernière liste chaînée en C++ à l'aide de la méthode récursive Recherchez le nième nœud de la dernière liste chaînée en C++ à l'aide de la méthode récursive Sep 15, 2023 pm 05:53 PM

Étant donné une liste à chaînage unique et un entier positif N en entrée. Le but est de trouver le Nème nœud à partir de la fin de la liste donnée en utilisant la récursivité. Si la liste d'entrée a des nœuds a → b → c → d → e → f et N vaut 4, alors le 4ème nœud du dernier sera c. Nous allons d'abord parcourir jusqu'au dernier nœud de la liste et au retour du nombre d'incréments récursifs (retour en arrière). Lorsque count est égal à N, un pointeur vers le nœud actuel est renvoyé comme résultat. Examinons différents scénarios d'entrée et de sortie pour cela - Entrée - Liste : -1→5→7→12→2→96→33N=3 Sortie − Le Nième nœud du dernier est : 2 Explication − Le troisième nœud est 2 . Entrée - Liste : -12 → 53 → 8 → 19 → 20 → 96 → 33N = 8 Sortie – Le nœud n'existe pas

Structures de données PHP SPL : injectez de la vitesse et de la flexibilité dans vos projets Structures de données PHP SPL : injectez de la vitesse et de la flexibilité dans vos projets Feb 19, 2024 pm 11:00 PM

Présentation de la bibliothèque de structures de données PHPSPL La bibliothèque de structures de données PHPSPL (Standard PHP Library) contient un ensemble de classes et d'interfaces pour stocker et manipuler diverses structures de données. Ces structures de données comprennent des tableaux, des listes chaînées, des piles, des files d'attente et des ensembles, chacun fournissant un ensemble spécifique de méthodes et de propriétés pour manipuler les données. Tableaux En PHP, un tableau est une collection ordonnée qui stocke une séquence d'éléments. La classe de tableau SPL fournit des fonctions améliorées pour les tableaux PHP natifs, notamment le tri, le filtrage et le mappage. Voici un exemple d'utilisation de la classe array SPL : useSplArrayObject;$array=newArrayObject(["foo","bar","baz"]);$array

Programme Java pour ajouter des éléments à LinkedList Programme Java pour ajouter des éléments à LinkedList Aug 26, 2023 pm 10:21 PM

LinkedList est une classe générale de JavaCollectionFramework, qui implémente trois interfaces : List, Deque et Queue. Il fournit les fonctionnalités de la structure de données LinkedList, une structure de données linéaire dans laquelle chaque élément est lié les uns aux autres. Nous pouvons effectuer diverses opérations sur une LinkedList, notamment l'ajout, la suppression et le parcours d'éléments. Pour ajouter des éléments à la collection LinkedList, nous pouvons utiliser diverses méthodes intégrées telles que add(), addFirst() et addLast(). Nous explorerons comment utiliser ces méthodes pour ajouter des éléments à une LinkedList. en Java

Comparaison de la complexité temporelle des algorithmes des tableaux PHP et des listes chaînées Comparaison de la complexité temporelle des algorithmes des tableaux PHP et des listes chaînées May 07, 2024 pm 01:54 PM

Comparaison de la complexité temporelle de l'algorithme des tableaux et des listes chaînées : accès aux tableaux O(1), listes chaînées O(n), insertion de tableaux O(1)/O(n) ; ), listes chaînées O(n) (n); Tableau de recherche O(n), liste chaînée O(n).

Ajouter 1 à un nombre représenté par une liste chaînée Ajouter 1 à un nombre représenté par une liste chaînée Aug 29, 2023 pm 09:17 PM

Une représentation par liste chaînée d'un nombre est fournie comme ceci : Tous les nœuds de la liste chaînée sont considérés comme étant un chiffre du nombre. Les nœuds stockent les nombres de telle sorte que le premier élément de la liste chaînée contienne le chiffre le plus significatif du nombre et que le dernier élément de la liste chaînée contienne le chiffre le moins significatif du nombre. Par exemple, le nombre 202345 est représenté dans la liste chaînée par (2->0->2->3->4->5). Pour ajouter 1 à cette liste chaînée représentant des nombres, il faut vérifier la valeur du bit le moins significatif de la liste. Si c'est moins de 9 c'est ok, sinon le code changera le numéro suivant et ainsi de suite. Voyons maintenant un exemple pour comprendre comment procéder, 1999 est représenté par (1->9->9->9) et l'ajout de 1 devrait le changer.

Structure de données PHP : le charme des listes chaînées, exploration de l'organisation dynamique des données Structure de données PHP : le charme des listes chaînées, exploration de l'organisation dynamique des données Jun 04, 2024 pm 12:53 PM

Une liste chaînée est une structure de données qui utilise une série de nœuds avec des données et des pointeurs pour organiser les éléments, et est particulièrement adaptée au traitement de grands ensembles de données et aux opérations fréquentes d'insertion/suppression. Ses composants de base comprennent des nœuds (données et pointeurs vers le nœud suivant) et des nœuds principaux (pointant vers le premier nœud de la liste chaînée). Les opérations courantes de liste chaînée incluent : l’ajout (insertion de queue), la suppression (valeur spécifique) et le parcours.

Programme Python : ajouter des éléments à la première et à la dernière position de la liste chaînée Programme Python : ajouter des éléments à la première et à la dernière position de la liste chaînée Aug 23, 2023 pm 11:17 PM

En Python, une liste chaînée est une structure de données linéaire composée d'une séquence de nœuds, chaque nœud contenant une valeur et une référence au nœud suivant dans la liste chaînée. Dans cet article, nous verrons comment ajouter des éléments à la première et à la dernière position d'une liste chaînée en Python. LinkedList en Python Une liste chaînée est une structure de données de référence utilisée pour stocker un ensemble d'éléments. D'une certaine manière, cela ressemble à un tableau, mais dans un tableau, les données sont stockées dans des emplacements mémoire contigus, alors que dans une liste chaînée, les données ne sont pas soumises à cette condition. Cela signifie que les données ne sont pas stockées de manière séquentielle mais de manière aléatoire en mémoire. Cela soulève une question : comment pouvons-nous

Conseils et éléments à noter lors de l'ajout d'éléments à un tableau en Java Conseils et éléments à noter lors de l'ajout d'éléments à un tableau en Java Jan 03, 2024 pm 02:01 PM

Conseils et précautions pour ajouter des éléments aux tableaux en Java En Java, les tableaux constituent une structure de données très courante et importante. Il peut stocker un ensemble d'éléments du même type, et ces éléments sont accessibles et modifiés via des index. Dans les applications pratiques, nous devons souvent ajouter dynamiquement des éléments à un tableau. Cet article présentera quelques conseils et précautions pour ajouter des éléments aux tableaux en Java et fournira des exemples de code correspondants. Utilisez un tableau dynamique (ArrayList) pour ajouter des éléments. Le tableau dynamique ArrayList est

See all articles