C # Stack met voorbeeld

Inhoudsopgave:

Anonim

Wat is Stack in C #?

De stack is een speciale case-collectie die een LIFO-concept (last in first out) vertegenwoordigt. Laten we een voorbeeld nemen om LIFO eerst te begrijpen. Stel je een stapel boeken voor met elk boek op elkaar.

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 een ​​boek tussendoor te verwijderen, want dat zou de instelling van de stapel verstoren.

Daarom werkt de stapel in C # ook op dezelfde manier. Elementen worden aan de stapel toegevoegd, één op elkaar. Het proces van het toevoegen van een element aan de stapel wordt een push-operatie 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 in meer detail bekijken.

Aangifte van de stapel

Een stapel wordt gemaakt met behulp van het Stack Data-type. Het sleutelwoord "nieuw" wordt gebruikt om een ​​object van een stapel te maken. Het object wordt dan toegewezen aan de variabele st.

Stack st = new Stack()

Elementen aan de stapel toevoegen

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 keert het bovenste element van de stapel terug. De algemene syntaxis van de verklaring wordt hieronder gegeven

 Stack.pop()

Tellen

Deze eigenschap wordt gebruikt om het aantal items in de stapel te krijgen. Hieronder staat de algemene syntaxis van deze verklaring.

Stack.Count

Bevat

Deze methode wordt gebruikt om te zien of een element aanwezig is in de stapel. Hieronder staat 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 dit nu eens op codeniveau zien werken. Alle onderstaande code wordt naar onze consoletoepassing geschreven. 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

In dit voorbeeld zullen we zien

  • Hoe een stapel wordt gemaakt.
  • Hoe de elementen van de stapel weer te geven en de methoden Count en Contain te 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 Verklaring: -

  1. De eerste stap wordt gebruikt om de stapel aan te geven. Hier verklaren 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 niet toegankelijk zijn via de indexpositie zoals de arraylijst, moeten we een andere benadering gebruiken om de elementen van de stapel weer te geven. Het object (obj) is een tijdelijke variabele, die wordt gedeclareerd om elk element van de stapel vast te houden. We gebruiken vervolgens de foreach-instructie om elk element van de stapel te doorlopen. Voor elk stapelelement wordt de waarde toegewezen aan de variabele obj. Vervolgens gebruiken we de opdracht Console.Writeline om de waarde op de console weer te geven.
  4. We gebruiken de eigenschap Count ( st.count ) om het aantal items in de stapel te krijgen. Deze eigenschap retourneert een getal. We geven deze waarde vervolgens weer op de console.
  5. We gebruiken dan de Contains-methode om te zien of de waarde van 3 aanwezig is in onze stapel. Dit retourneert een true of false waarde. We geven deze retourwaarde vervolgens weer op de console.

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

Uitgang:

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

Opmerking : het is je opgevallen 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

Laten we nu eens kijken naar de "verwijder" -functionaliteit. 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 Verklaring: -

  1. Hier geven we alleen de pop-methode uit 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.

Uitgang:

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

Overzicht

  • Een stapel is gebaseerd op het last in first out-concept. Het toevoegen van een element aan de stapel wordt de push-operatie genoemd. Het verwijderen van een element naar de stapel wordt de pop-operatie genoemd.