C# Stack med Push & Pop eksempler

Hvad er Stack i C#?

Stakken er en specialkassesamling, som repræsenterer et sidste ind først ud (LIFO) koncept. For først at forstå LIFO, lad os tage et eksempel. Forestil dig en stak bøger med hver bog holdt oven på hinanden.

Konceptet med sidst ind først ud i tilfælde af bøger betyder, at kun den øverste bog kan fjernes fra stakken af ​​bøger. Det er ikke muligt at fjerne en bog imellem, for så ville det forstyrre stakkens indstilling.

Derfor i C#, fungerer stakken også på samme måde. Elementer føjes til stakken, et oven på hinanden. Processen med at tilføje et element til stakken kaldes en push-operation. For at fjerne et element fra en stak kan du også fjerne det øverste element af stakken. Denne operation er kendt som pop.

Lad os se mere detaljeret på de tilgængelige operationer for Stack-samlingen.

Erklæring af stakken

En stak oprettes ved hjælp af typen Stack Data. Nøgleordet "ny" bruges til at skabe et objekt af en stak. Objektet tildeles derefter variablen st.

Stack st = new Stack()

Tilføjelse af elementer til stakken

Push-metoden bruges til at tilføje et element til stakken. Udsagnets generelle syntaks er angivet nedenfor.

Stack.push(element)

Fjernelse af elementer fra stakken

Pop-metoden bruges til at fjerne et element fra stakken. Pop-operationen vil returnere det øverste element i stakken. Den generelle syntaks for sætningen er angivet nedenfor

 Stack.pop()

Tælle

Denne egenskab bruges til at få antallet af elementer i stakken. Nedenfor er den generelle syntaks for denne erklæring.

Stack.Count

Indeholder

Denne metode bruges til at se, om et element er til stede i stakken. Nedenfor er den generelle syntaks for denne erklæring. Udsagnet vil returnere sandt, hvis elementet eksisterer, ellers returnerer det værdien false.

Stack.Contains(element)

Lad os nu se, at dette fungerer på kodeniveau. Al nedenstående kode vil blive skrevet til vores Konsolapplikation. Koden vil blive skrevet til vores Program.cs fil.

I nedenstående program vil vi skrive koden for at se, hvordan vi kan bruge de ovennævnte metoder.

Eksempel 1: Stack.Push() metode

I dette eksempel vil vi se

  • Hvordan en stak bliver oprettet.
  • Sådan viser du stakkens elementer og bruger Count og Contain metoderne.

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

Kodeforklaring:-

  1. Det første trin bruges til at erklære stakken. Her erklærer vi "st" som en variabel til at holde elementerne i vores stak.
  2. Dernæst tilføjer vi 3 elementer til vores stak. Hvert element tilføjes via Push-metoden.
  3. Nu da stakelementerne ikke kan tilgås via indekspositionen som array liste, skal vi bruge en anden tilgang til at vise stakkens elementer. Objektet (obj) er en midlertidig variabel, som er erklæret for at holde hvert element i stakken. Vi bruger derefter foreach-sætningen til at gennemgå hvert element i stakken. For hvert stakelement tildeles værdien til obj-variablen. Vi bruger derefter kommandoen Console.Writeline til at vise værdien til konsollen.
  4. Vi bruger egenskaben Count (st.tæller) for at få antallet af elementer i stakken. Denne ejendom returnerer et nummer. Vi viser derefter denne værdi til konsollen.
  5. Vi bruger derefter Indeholder-metoden til at se, om værdien af ​​3 er til stede i vores stak. Dette vil returnere enten en sand eller falsk værdi. Vi viser derefter denne returværdi til konsollen.

Hvis ovenstående kode er indtastet korrekt, og programmet køres, vil følgende output blive vist.

Output:

Stak i C#

Fra outputtet kan vi se, at elementerne i stakken vises. Værdien af ​​True vises også for at sige, at værdien af ​​3 er defineret på stakken.

Bemærk: Du har bemærket, at det sidste element, der blev skubbet ind på stakken, vises først. Dette er det øverste element i stakken. Antallet af stakelementer vises også i outputtet.

Eksempel 2: Stack.Pop()-metoden

Lad os nu se på "fjern"-funktionen. Vi vil se den kode, der kræves for at fjerne det øverste element fra stakken.

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

Kodeforklaring:-

  1. Her udsteder vi bare pop-metoden, som bruges til at fjerne et element fra stakken.

Hvis ovenstående kode indtastes korrekt, og programmet køres, vil følgende output blive vist.

Output:

Stak i C#

Vi kan se, at element 3 blev fjernet fra stakken.

Resumé

  • En stak er baseret på sidst ind først ud konceptet. Operationen med at tilføje et element til stakken kaldes push-operationen. Operationen med at fjerne et element til stakken kaldes pop-operationen.