La classe pile | Stack C#

La classe pile | Stack C#

Définition et caractéristiques

Définition

La pile (Stack) est une collection d’objets qui représente un concept de dernier entré, premier sorti (LIFO : LastIn,FirstOut) en ajoutant les éléments 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.

Les caractéristiques

La capacité d’une pile est le nombre d’éléments que la pile peut contenir.
Au fur et à mesure que des éléments sont ajoutés à une pile, la capacité est automatiquement augmentée selon les besoins grâce à la réaffectation.
La pile accepte le null comme valeur valide et autorise les éléments en double.

Comment créer une pile (Stack) ?

On utilise le constructeur Stack () pour initialiser une nouvelle instance de la classe Stack qui sera vide et aura la capacité initiale par défaut.

using System; using System.Collections; class Exemple { public static void Main(String[] args) { // myStack est un objet Stack // Stack() est le constructeur utilisé pour initialiser // une nouvelle instance de classe Stack Stack myStack = new Stack(); Console.WriteLine(stack.Count); } } Affichage : 0
Code language: JavaScript (javascript)

Comment ajouter des éléments à la pile (Stack) ?

using System; using System.Collections; class Exemple { public static void Main(String[] args) { Stack myStack = new Stack(); Console.Write("Avant l'ajout: "); Console.WriteLine(myStack.Count); // Insérer des éléments dans le Stack myStack.Push("stack"); myStack.Push("trace"); myStack.Push("back"); Console.Write("Aprés l'ajout: "); Console.WriteLine(myStack.Count); } } Affichage : Avant l'ajout : 0 Aprés l'ajout : 3
Code language: PHP (php)

Comment supprimer des éléments de la pile ?

Méthode Stack.Pop() est une méthode utilisée pour supprimer et retourner l’objet en haut de la pile.
Cette méthode est similaire à la méthode Peek, mais Peek ne modifie pas la pile.

using System; using System.Collections; class Exemple { public static void Main() { // Créer le Stack Stack myStack = new Stack(); // Insérer des éléments dans le Stack myStack.Push("Stack"); myStack.Push("Trace"); myStack.Push("stackTraceback"); Console.WriteLine("Nombre d'éléments est {0}", myStack.Count); // Récupération de l'élément supérieur de la pile Console.Write("L'élément supérieur de la pile est: "); Console.Write(myStack.Pop()); // Aprés la supression d'élément Console.WriteLine("\n Nombre d'éléments dans la pile: {0}", myStack.Count); } } Affichage : Nombre d'éléments est : 3 L'élémentnt supérieurr de la pile est : stackTraceback Nombre d'éléments dans la pile: 2
Code language: PHP (php)

Comment vérifier l’existence d’un élément spécifique dans une pile ?

Stack.Contains() est une méthode utilisée pour vérifier si un élément spécifié est présent dans la pile ou non.
En interne, cette méthode vérifie l’égalité en appelant la méthode Object.Equals.

using System; using System.Collections; class Exemple { public static void Main() { // Creating a Stack Stack myStack = new Stack(); // Insertion des éléments dans la pile myStack.Push("Stack"); myStack.Push("Trace"); myStack.Push("stackTraceback"); // Vérifier si l'élément est // présent dans la pile ou non // La fonction renvoie True si l'élément est //présent dans la pile, sinon renvoie False Console.WriteLine(myStack.Contains("stackTraceback")); } } Affichage : True
Code language: PHP (php)

Conclusion

J’espère que cet article vous aidera à comprendre la pile.
Vous pouvez aussi lire la différence entre la classe abstraite et l’interface.

Partagez !

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *