C# Stack met Push & Pop-voorbeelden

Wat is stapelen in C#?

De stapel is een speciale koffercollectie die een last in first out (LIFO) concept vertegenwoordigt. Laten we, om LIFO eerst te begrijpen, een voorbeeld nemen. Stel je een stapel boeken voor, waarbij elk boek op elkaar wordt gehouden.

Het concept van ‘last in first out’ in het geval van boeken betekent dat alleen het bovenste boek van de stapel boeken kan worden verwijderd. Het is niet mogelijk om er een boek tussenuit te halen, omdat dat de stand van de stapel zou verstoren.

Vandaar in C#, werkt de stapel ook op dezelfde manier. Elementen worden aan de stapel toegevoegd, één op elkaar. Het proces waarbij een element aan de stapel wordt toegevoegd, wordt een push-operatie genoemd. Om een ​​element van een stapel te verwijderen, kunt u ook het bovenste element van de stapel verwijderen. Deze operatie staat bekend als pop.

Laten we de bewerkingen die beschikbaar zijn voor de Stack-collectie in meer detail bekijken.

Declaratie van de stapel

Er wordt een stapel gemaakt met behulp van het type Stack Data. Het trefwoord “nieuw” wordt gebruikt om een ​​object van een stapel te maken. Het object wordt vervolgens toegewezen aan de variabele st.

Stack st = new Stack()

Elementen toevoegen aan de stapel

De push-methode wordt gebruikt om een ​​element aan de stapel toe te voegen. De algemene syntaxis van de verklaring wordt hieronder gegeven.

Stack.push(element)

Elementen uit de stapel verwijderen

De pop-methode wordt gebruikt om een ​​element van de stapel te verwijderen. De pop-operatie retourneert het bovenste element van de stapel. De algemene syntaxis van de verklaring wordt hieronder gegeven

 Stack.pop()

Tellen

Deze eigenschap wordt gebruikt om het aantal items in de stapel te bepalen. Hieronder vindt u de algemene syntaxis van deze verklaring.

Stack.Count

Bevat

Deze methode wordt gebruikt om te zien of een element aanwezig is in de Stack. Hieronder vindt u de algemene syntaxis van deze verklaring. De instructie retourneert true als het element bestaat, anders wordt de waarde false geretourneerd.

Stack.Contains(element)

Laten we nu eens kijken hoe dit werkt op codeniveau. Alle onderstaande code wordt naar ons geschreven Console applicatie. De code wordt naar ons Program.cs-bestand geschreven.

In het onderstaande programma zullen we de code schrijven om te zien hoe we de bovengenoemde methoden kunnen gebruiken.

Voorbeeld 1: Stack.Push()-methode

In dit voorbeeld zullen we zien

  • Hoe een stapel ontstaat.
  • Hoe u de elementen van de stapel kunt weergeven en de methoden Count en Contain kunt gebruiken.

Stapel in C#

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();
  }
 }
}

Code-uitleg: -

  1. De eerste stap wordt gebruikt om de stapel te declareren. Hier declareren we “st” als een variabele om de elementen van onze stapel vast te houden.
  2. Vervolgens voegen we 3 elementen toe aan onze stapel. Elk element wordt toegevoegd via de Push-methode.
  3. Omdat de stapelelementen nu niet toegankelijk zijn via de indexpositie zoals de array lijst, moeten we een andere aanpak gebruiken om de elementen van de stapel weer te geven. Het object (obj) is een tijdelijke variabele, die wordt gedeclareerd voor het bevatten van elk element van de stapel. Vervolgens gebruiken we de foreach-instructie om elk element van de stapel te doorlopen. Voor elk stapelelement wordt de waarde toegewezen aan de obj-variabele. Vervolgens gebruiken we de opdracht Console.Writeline om de waarde op de console weer te geven.
  4. We gebruiken de eigenschap Count (st.telling) om het aantal items in de stapel te bepalen. Deze eigenschap retourneert een nummer. Vervolgens geven we deze waarde weer aan de console.
  5. Vervolgens gebruiken we de methode Bevat om te zien of de waarde 3 aanwezig is in onze stapel. Dit retourneert een waarde waar of onwaar. Vervolgens geven we deze retourwaarde weer op de console.

Als de bovenstaande code correct is ingevoerd en het programma wordt uitgevoerd, volgt het volgendewing uitvoer wordt weergegeven.

Output:

Stapel in C#

Uit de uitvoer kunnen we zien dat de elementen van de stapel worden weergegeven. Ook wordt de waarde True weergegeven om aan te geven dat de waarde 3 op de stapel is gedefinieerd.

Note: Je hebt gemerkt dat het laatste element dat op de stapel is geplaatst als eerste wordt weergegeven. Dit is het bovenste element van de stapel. Het aantal stapelelementen wordt ook weergegeven in de uitvoer.

Voorbeeld 2: Stack.Pop()-methode

Laten we nu eens kijken naar de functionaliteit "verwijderen". We zullen de code zien die nodig is om het bovenste element van de stapel te verwijderen.

Stapel in C#

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();
  }
 }
}

Code-uitleg: -

  1. Hier gebruiken we alleen de pop-methode die wordt gebruikt om een ​​element uit de stapel te verwijderen.

Als de bovenstaande code correct wordt ingevoerd en het programma wordt uitgevoerd, verschijnt het volgendewing uitvoer wordt weergegeven.

Output:

Stapel in C#

We kunnen zien dat element 3 van de stapel is verwijderd.

Samengevat

  • Een Stack is gebaseerd op het last-in-first-out-concept. De bewerking waarbij een element aan de stapel wordt toegevoegd, wordt de push-bewerking genoemd. De bewerking waarbij een element naar de stapel wordt verwijderd, wordt de pop-bewerking genoemd.