


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
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
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()
Sortie
Printing the list before adding any element : \ Printing the elements after adding at the beginning of the list 25-10-\
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
Sortieclass 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()
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
Printing the list before insertion : \ Printing the list after adding elements at the end of the list : 25-10-\
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!

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

É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

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

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

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.

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.

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