C # Liste liée

C # Liste liée

En C #, LinkedList est celui dans lequel les éléments sont stockés dans des endroits non contiguës. C'est une structure de données linéaire. Les éléments d'une liste liée communiquent entre eux via des pointeurs. En termes simples, il se compose de nœuds, chaque nœud comprend un champ de données et un lien vers le nœud suivant de la liste. Dans la liste Doubly_Linked, chaque nœud de la liste pointe vers l'avant du nœud suivant et en arrière vers le nœud précédent. Il permet également une insertion rapide et une suppression des articles. Il est défini dans le système.Collections.Espace de noms générique.

Comment créer une liste liée dans C #

Pour créer Linkedlist en C #, nous avons trois constructeurs.

LinkedList (): Pour créer une instance vide de la classe LinkedList, nous utilisons le constructeur «LinkedList ()».

LinkedList (iEnumerable): Pour créer une instance de la classe LinkedList contenant des éléments qui sont copiés à partir du constructeur IEnumerable, nous utilisons le constructeur «LinkedList (iEnumerable)». Il a suffisamment d'espace pour contenir le nombre d'objets copiés.

LinkedList (SerializationInfo, StreamingContext): Il est utilisé pour créer une instance qui est sérialisée à l'aide du paramètre SerialiationInfo et StreamingContext.

Exemple 1

Nous écrivons le code qui est donné dans cet exemple et enregistrons ce fichier avec n'importe quel nom. Nous utiliserons l'extension ".cs ”pour enregistrer ce fichier.

Dans le code ci-dessus, nous utilisons le mot-clé «Utilisation» dans la première ligne pour inclure des espaces de noms. Maintenant, nous avons le «système d'utilisation.Collections.Espace de noms générique. Après cela, nous avons une classe; «Liste» est le nom de classe. Après cela, il existe une méthode «main ()». La méthode principale décrit ce que fait la classe lorsqu'il est exécuté et crée des objets et des variables supplémentaires. C'est le point de départ du programme, et il s'exécute sans même créer un objet de classe. Dans Curly Braces, nous avons «LinkedList» qui est utilisé pour créer une liste liée de la chaîne de types de données.

Après cela, nous utilisons «my_list.AddLast () ”pour ajouter des nœuds à LinkedList. Le nouveau nœud ajoutera au dernier linkList en utilisant la méthode «addlast». La méthode «my_list.Addlast («Harry») »ajoutera le nom« Harry »à la liste Linked. En utilisant cette méthode, nous ajoutons «Peter», «Leo», «George», «Ronan», «Alice» et «Danil» à la liste Linked. Après cela, nous avons la «console.Mot-clé Writeline »qui est utilisé pour la sortie. Tout ce qui est écrit entre parenthèses imprimera à l'écran.

Maintenant, nous utilisons la boucle «foreach» pour accéder aux éléments de LinkedList. En utilisant, "ForEach (String Str dans My_List)", nous accéderons à toutes les chaînes qui sont présentes dans "My_List" LinkedList. Après cela, nous utilisons «Console.Writeline (Str) ”qui affiche toutes les chaînes de ce programme. Maintenant, nous allons fermer tous les accolades bouclées.

Compilation d'un programme C # dans Ubuntu 20.04

Pour compiler le programme ci-dessus, nous utiliserons la commande suivante.

Ici, dans ce code, «List1.CS ”est le nom du fichier que nous voulons compiler et« MCS »est le compilateur mono de C #. Tapez cette commande et appuyez sur Entrée. Le ".Le fichier exe "sera généré pour nous.

Exécution du programme C # dans Ubuntu 20.04

Tapez la commande ci-dessous pour l'exécution de ce programme C #, qui est compilé à l'étape ci-dessus.

La commande «mono» exécute un programme mono qui est compilé. La «liste mono1.exe ”peut être utilisé pour exécuter la« liste1.Programme EXE. Après l'exécution, la liste suivante s'affiche à l'écran comme indiqué ci-dessous.

Exemple 2: pour vérifier la valeur

Ici, dans ce code, nous avons recherché si la valeur donnée est dans LinkedList ou non. Si la valeur ou la chaîne est présente dans LinkedList, il reviendra true, ce qui signifie que la chaîne ou la valeur y est présente. Le code suivant est utilisé pour cela.

Dans ce code, «Utilisation du système» est utilisé pour ajouter des espaces de noms. Après cela, nous avons «Utilisation du système.Collections », ce qui signifie que nous utilisons des classes de collecte. Ces classes sont utilisées à de nombreuses fins. Ils créeront des collections d'objets. Ensuite, nous avons «Utilisation du système.Collections.Générique »qui est utilisé pour l'espace de noms du programme. Ensuite, nous avons une classe nommée «Chklist». Après les cours, nous mettons des accolades bouclées, et à l'intérieur des accolades bouclées que nous définissons, la fonction «main ()».

À l'intérieur du «main ()» pour créer une liste Linked, nous avons une «classe LinkedList» et la chaîne est utilisée pour un type de données de chaîne qui est utilisé pour l'entrée de chaîne. Maintenant, pour ajouter des nœuds, nous utilisons «my_list.AddLast () ". Nous pouvons ajouter «ordinateur» dans LinkedList lorsque nous utilisons My_List.Addlast («ordinateur»). En utilisant la même ligne, nous ajoutons «ordinateur portable», «mobile» et «appareil photo» à LinkedList. Nous avons discuté de tous ces éléments dans l'exemple ci-dessus en détail.

Après cela, nous écrivons «Console.Writeline (my_list.Contient («ordinateur portable»)) »Lorsque cette ligne est exécutée, il vérifiera si cette liste liée contient« ordinateur portable »ou non. Il renverra «vrai» si la liste Linked contient «ordinateur portable».

Pour la compilation et l'exécution de ce programme ci-dessus, nous écrivons les commandes ci-dessous sur le terminal.

Ici, dans cette sortie, nous voyons qu'il renvoie le vrai résultat qui signifie que la liste Linked contient «ordinateur portable».

Exemple 3: pour retirer le nœud

Ici, nous expliquerons un autre exemple dans lequel nous supprimons ou supprimons la première valeur de la liste Linked et obtiendrons le décompte des valeurs.

Dans ce code, nous utilisons le mot-clé «utilisant» que nous avons expliqué dans le premier exemple. Ensuite, nous utilisons le «système d'utilisation.Collections.Espace de noms générique dont nous avons discuté en détail dans notre exemple précédent. Après cela, nous avons une classe nommée «Supprimer». Ensuite, la fonction «main ()» est formée. La «chaîne [] args» signifie les arguments de cette fonction. Après «main ()», nous générons une liste liée d'un entier en utilisant «Linkedlist». Ensuite, nous ajoutons différents nœuds à l'aide de «my_list.AddLast () ".

Quand nous écrivons "My_List.AddLast (20) ”, il ajoutera un nœud 20 dans LinkedList. Maintenant, nous ajoutons «10,20,30,40» en utilisant la même méthode. Pour obtenir la sortie du nombre de nœuds, nous utilisons «Console.Écriture »et comptez les nœuds en utilisant« my_list.Compter »et imprimera le nombre de nœuds avant de retirer n'importe quel nœud. Ensuite, nous utilisons la boucle «ForEach» qui affichera les nœuds sur LinkedList.

Dans "Foreach (int i in my_list)", "int" représente les valeurs entières dans "my_list". Dans Curly Braces, nous imprimerons les valeurs de «I» en utilisant «Console.Writeline (i) ». Maintenant, nous supprimons le premier nœud en utilisant "my_list.Supprimer (my_list.D'abord) "puis utilisez" my_list.Count »pour obtenir le compte de nœuds dans notre programme et l'afficher à l'aide de« Console.Écriture ». Après cela, nous utilisons la boucle «foreach» comme indiqué ci-dessus pour imprimer tous les nœuds après avoir retiré le premier nœud. Après avoir terminé le code ci-dessus, enregistrez ce fichier.

Maintenant, nous obtiendrons la sortie en écrivant la commande donnée ci-dessous dans l'image. Tout d'abord, nous compilons le programme puis l'exécutons.

Dans cette sortie, nous voyons qu'il imprime le nombre des nœuds puis affiche tous les nœuds d'une liste. Après cela, il supprime le premier nœud et imprime le nombre des nœuds restants, puis affiche les nœuds restants.

Conclusion

Dans cet article, nous avons appris qu'une liste liée est un groupe de nœuds et que chaque nœud contient un élément de données et un pointeur qui pointe vers l'adresse de la mémoire du nœud à venir. Parce que nous ne pouvons pas obtenir les éléments avec désinvolture au fur et à mesure que nous arrivons dans les tableaux, donc le passage est raffiné. En comparaison avec les tableaux, les actions de délétion d'insertion sont bon marché. De plus, nous avons beaucoup étudié sur LinkedList en utilisant différents exemples qui sont très utiles pour les utilisateurs à l'avenir.