Pile C# avec exemples Push & Pop
Qu’est-ce que Stack en C# ?
La pile est une collection de cas particuliers qui représente un concept du dernier entré, premier sorti (LIFO). Pour d’abord comprendre LIFO, prenons un exemple. Imaginez une pile de livres, chaque livre étant superposé.
Le concept du dernier entré, premier sorti dans le cas des livres signifie que seul le livre le plus haut peut être retiré de la pile de livres. Il n'est pas possible de retirer un livre entre les deux, car cela perturberait le positionnement de la pile.
Donc dans C#, la pile fonctionne également de la même manière. Les éléments sont ajoutés à la pile, les uns sur les autres. Le processus d’ajout d’un élément à la pile est appelé opération push. Pour supprimer un élément d'une pile, vous pouvez également supprimer l'élément le plus haut de la pile. Cette opération est connue sous le nom de pop.
Examinons plus en détail les opérations disponibles pour la collection Stack.
Déclaration de la pile
Une pile est créée à l'aide du type Stack Data. Le mot clé « new » est utilisé pour créer un objet d’une Stack. L'objet est ensuite affecté à la variable st.
Stack st = new Stack()
Ajout d'éléments à la pile
La méthode push est utilisée pour ajouter un élément sur la pile. La syntaxe générale de l'instruction est donnée ci-dessous.
Stack.push(element)
Supprimer des éléments de la pile
La méthode pop est utilisée pour supprimer un élément de la pile. L'opération pop renverra l'élément le plus haut de la pile. La syntaxe générale de l'instruction est donnée ci-dessous
Stack.pop()
que vous avez
Cette propriété est utilisée pour obtenir le nombre d'éléments dans la pile. Vous trouverez ci-dessous la syntaxe générale de cette instruction.
Stack.Count
Inclus
Cette méthode est utilisée pour voir si un élément est présent dans la Stack. Vous trouverez ci-dessous la syntaxe générale de cette instruction. L'instruction renverra vrai si l'élément existe, sinon elle renverra la valeur faux.
Stack.Contains(element)
Voyons maintenant que cela fonctionne au niveau du code. Tout le code mentionné ci-dessous sera écrit dans notre Application console. Le code sera écrit dans notre fichier Program.cs.
Dans le programme ci-dessous, nous écrirons le code pour voir comment nous pouvons utiliser les méthodes mentionnées ci-dessus.
Exemple 1 : méthode Stack.Push()
Dans cet exemple, nous verrons
- Comment une pile est créée.
- Comment afficher les éléments de la pile, et utiliser les méthodes Count et Contain.
using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Program { static void Main(string[] args) { Stack st = new Stack(); st.Push(1); st.Push(2); st.Push(3); foreach (Object obj in st) { Console.WriteLine(obj); } Console.WriteLine(); Console.WriteLine(); Console.WriteLine("The number of elements in the stack " +st.Count); Console.WriteLine("Does the stack contain the elements 3 "+st.Contains(3)); Console.ReadKey(); } } }
Explication du code : -
- La première étape permet de déclarer la Stack. Ici, nous déclarons « st » comme variable pour contenir les éléments de notre pile.
- Ensuite, nous ajoutons 3 éléments à notre pile. Chaque élément est ajouté via la méthode Push.
- Maintenant, puisque les éléments de la pile ne sont pas accessibles via la position d'index comme le liste des tableaux, nous devons utiliser une approche différente pour afficher les éléments de la pile. L'objet (obj) est une variable temporaire, déclarée pour contenir chaque élément de la pile. Nous utilisons ensuite l'instruction foreach pour parcourir chaque élément de la pile. Pour chaque élément de pile, la valeur est attribuée à la variable obj. Nous utilisons ensuite la commande Console.Writeline pour afficher la valeur sur la console.
- Nous utilisons la propriété Count (st.count) pour obtenir le nombre d'éléments dans la pile. Cette propriété renverra un numéro. Nous affichons ensuite cette valeur à la console.
- Nous utilisons ensuite la méthode Contains pour voir si la valeur 3 est présente dans notre pile. Cela renverra une valeur vraie ou fausse. Nous affichons ensuite cette valeur de retour à la console.
Si le code ci-dessus est entré correctement et que le programme est exécuté, la sortie suivante sera affichée.
Sortie :
À partir du résultat, nous pouvons voir que les éléments de la pile sont affichés. De plus, la valeur True est affichée pour indiquer que la valeur 3 est définie sur la pile.
Note: Vous avez remarqué que le dernier élément poussé sur la pile est affiché en premier. Il s'agit de l'élément le plus haut de la pile. Le nombre d'éléments de pile est également affiché dans la sortie.
Exemple 2 : méthode Stack.Pop()
Examinons maintenant la fonctionnalité « supprimer ». Nous verrons le code requis pour supprimer l'élément le plus haut de la pile.
using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Program { static void Main(string[] args) { Stack st = new Stack(); st.Push(1); st.Push(2); st.Push(3); st.Pop(); foreach (Object obj in st) { Console.WriteLine(obj); } Console.ReadKey(); } } }
Explication du code : -
- Ici, nous émettons simplement la méthode pop qui est utilisée pour supprimer un élément de la pile.
Si le code ci-dessus est saisi correctement et que le programme est exécuté, la sortie suivante sera affichée.
Sortie :
On voit que l'élément 3 a été supprimé de la pile.
Résumé
- Une pile est basée sur le concept du dernier entré, premier sorti. L’opération d’ajout d’un élément à la pile est appelée opération push. L'opération de suppression d'un élément de la pile est appelée opération pop.