C# Stack med Push & Pop eksempler
Hva er Stack i C#?
Stakken er en spesialbokssamling som representerer et sist inn først ut (LIFO) konsept. For først å forstå LIFO, la oss ta et eksempel. Se for deg en stabel med bøker med hver bok holdt oppå hverandre.
Konseptet med sist inn først ut når det gjelder bøker betyr at bare den øverste boken kan fjernes fra bunken med bøker. Det er ikke mulig å fjerne en bok fra mellom, for da ville det forstyrre innstillingen av stabelen.
Dermed i C#, fungerer stabelen også på samme måte. Elementer legges til stabelen, ett på toppen av hverandre. Prosessen med å legge til et element i stabelen kalles en push-operasjon. For å fjerne et element fra en stabel, kan du også fjerne det øverste elementet i stabelen. Denne operasjonen er kjent som pop.
La oss se på operasjonene som er tilgjengelige for Stack-samlingen mer detaljert.
Erklæring av stabelen
En stabel lages ved hjelp av typen Stack Data. Nøkkelordet "ny" brukes til å lage et objekt av en stabel. Objektet tilordnes deretter variabelen st.
Stack st = new Stack()
Legge til elementer i stabelen
Push-metoden brukes til å legge til et element på stabelen. Den generelle syntaksen til setningen er gitt nedenfor.
Stack.push(element)
Fjerning av elementer fra stabelen
Pop-metoden brukes til å fjerne et element fra stabelen. Pop-operasjonen vil returnere det øverste elementet i stabelen. Den generelle syntaksen til setningen er gitt nedenfor
Stack.pop()
Telle
Denne egenskapen brukes til å få antall elementer i stabelen. Nedenfor er den generelle syntaksen til denne uttalelsen.
Stack.Count
inneholder
Denne metoden brukes til å se om et element er tilstede i stabelen. Nedenfor er den generelle syntaksen til denne uttalelsen. Utsagnet vil returnere sant hvis elementet eksisterer, ellers vil det returnere verdien usann.
Stack.Contains(element)
La oss nå se at dette fungerer på kodenivå. All koden nedenfor vil bli skrevet til vår Konsollsøknad. Koden vil bli skrevet til vår Program.cs-fil.
I programmet nedenfor vil vi skrive koden for å se hvordan vi kan bruke de ovennevnte metodene.
Eksempel 1: Stack.Push()-metoden
I dette eksemplet vil vi se
- Hvordan en stabel blir opprettet.
- Hvordan vise elementene i stabelen, og bruke Count og Contain-metodene.
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:-
- Det første trinnet brukes til å erklære stakken. Her erklærer vi "st" som en variabel for å holde elementene i stabelen vår.
- Deretter legger vi til 3 elementer til stabelen vår. Hvert element legges til via Push-metoden.
- Nå siden stabelelementene ikke kan nås via indeksposisjonen som array liste, må vi bruke en annen tilnærming for å vise elementene i stabelen. Objektet (obj) er en midlertidig variabel, som er deklarert for å holde hvert element i stabelen. Vi bruker deretter foreach-setningen til å gå gjennom hvert element i stabelen. For hvert stabelelement blir verdien tilordnet obj-variabelen. Vi bruker deretter Console.Writeline-kommandoen for å vise verdien til konsollen.
- Vi bruker egenskapen Count (st.count) for å få antall elementer i stabelen. Denne egenskapen vil returnere et nummer. Vi viser deretter denne verdien til konsollen.
- Vi bruker deretter Contains-metoden for å se om verdien av 3 er tilstede i stabelen vår. Dette vil returnere enten en sann eller usann verdi. Vi viser deretter denne returverdien til konsollen.
Hvis koden ovenfor angis riktig og programmet kjøres, vil følgende utgang vises.
Utgang:
Fra utgangen kan vi se at elementene i stabelen vises. Verdien til True vises også for å si at verdien av 3 er definert på stabelen.
Merknader: Du har lagt merke til at det siste elementet som ble skjøvet inn på stabelen, vises først. Dette er det øverste elementet i stabelen. Antall stabelelementer vises også i utdataene.
Eksempel 2: Stack.Pop()-metoden
La oss nå se på "fjern"-funksjonen. Vi vil se koden som kreves for å fjerne det øverste elementet fra stabelen.
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:-
- Her utsteder vi bare pop-metoden som brukes til å fjerne et element fra stabelen.
Hvis koden ovenfor angis riktig og programmet kjøres, vil følgende utdata vises.
Utgang:
Vi kan se at element 3 ble fjernet fra stabelen.
Sammendrag
- En stabel er basert på sist inn først ut-konseptet. Operasjonen med å legge til et element i stabelen kalles push-operasjonen. Operasjonen med å fjerne et element til stabelen kalles pop-operasjonen.