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#, de stapel werkt ook op dezelfde manier. Elementen worden toegevoegd aan de stapel, één boven op elkaar. Het proces van het toevoegen van een element aan de stapel wordt een push-bewerking genoemd. Om een element van een stapel te verwijderen, kunt u ook het bovenste element van de stapel verwijderen. Deze bewerking staat bekend als pop.
Laten we de bewerkingen die beschikbaar zijn voor de Stack-collectie eens nader 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-bewerking 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.
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: -
- 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.
- Vervolgens voegen we 3 elementen toe aan onze stapel. Elk element wordt toegevoegd via de Push-methode.
- 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.
- 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.
- 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, wordt de volgende uitvoer weergegeven.
Output:
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: U hebt opgemerkt dat het laatste element dat op de stapel is geduwd, 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.
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: -
- Hier gebruiken we alleen de pop-methode die wordt gebruikt om een element uit de stapel te verwijderen.
Als de bovenstaande code correct is ingevoerd en het programma wordt uitgevoerd, wordt de volgende uitvoer weergegeven.
Output:
We kunnen zien dat element 3 van de stapel is verwijderd.
Samenvatting
- Een stack is gebaseerd op het last in first out-concept. De bewerking van het toevoegen van een element aan de stack wordt de push-bewerking genoemd. De bewerking van het verwijderen van een element uit de stack wordt de pop-bewerking genoemd.