Qu'est-ce que Stack en C #?
La pile est une collection de cas spéciaux qui représente un concept de dernier entré, premier sorti (LIFO). Pour comprendre LIFO d'abord, prenons un exemple. Imaginez une pile de livres avec chaque livre placé les uns sur les autres.
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 supprimer un livre entre les deux, car cela perturberait le réglage de la pile.
Par conséquent, en 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é une 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é "nouveau" est utilisé pour créer un objet d'une pile. L'objet est alors affecté à la variable st.
Stack st = new Stack()
Ajouter des é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)
Suppression d'é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()
Compter
Cette propriété est utilisée pour obtenir le nombre d'éléments dans la pile. Voici la syntaxe générale de cette déclaration.
Stack.Count
Contient
Cette méthode est utilisée pour voir si un élément est présent dans la pile. Voici la syntaxe générale de cette déclaration. L'instruction renverra true si l'élément existe, sinon elle renverra la valeur false.
Stack.Contains(element)
Voyons maintenant cela fonctionner 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
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 est utilisée pour déclarer la pile. Ici, nous déclarons "st" comme une 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 que les éléments de la pile ne sont pas accessibles via la position d'index comme la liste de tableaux, nous devons utiliser une approche différente pour afficher les éléments de la pile. L'objet (obj) est une variable temporaire, qui est 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 affecté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 nombre. Nous affichons ensuite cette valeur sur la console.
- Nous utilisons ensuite la méthode Contains pour voir si la valeur de 3 est présente dans notre pile. Cela renverra une valeur vraie ou fausse. Nous affichons ensuite cette valeur de retour dans la console.
Si le code ci-dessus est entré correctement et que le programme est exécuté, la sortie suivante sera affichée.
Production:
À partir de la sortie, nous pouvons voir que les éléments de la pile sont affichés. De plus, la valeur de True est affichée pour indiquer que la valeur de 3 est définie sur la pile.
Remarque : vous avez remarqué que le dernier élément poussé sur la pile est affiché en premier. C'est l'élément le plus haut de la pile. Le nombre d'éléments de pile est également affiché dans la sortie.
Exemple 2
Regardons 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 entré correctement et que le programme est exécuté, la sortie suivante sera affichée.
Production:
Nous pouvons voir que l'élément 3 a été retiré 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 s'appelle l'opération push. L'opération de suppression d'un élément de la pile est appelée opération pop.