Vad är Stack i C #?
Stapeln är en specialfallssamling som representerar ett LIFO-koncept. För att först förstå LIFO, låt oss ta ett exempel. Föreställ dig en stapel böcker med varje bok förvarad ovanpå varandra.
Begreppet sista in först ut i fallet med böcker innebär att endast den högsta boken kan tas bort från bunten. Det är inte möjligt att ta bort en bok däremellan, för då skulle det störa stapelns inställning.
Därför i C # fungerar stacken också på samma sätt. Element läggs till i stacken, en ovanpå varandra. Processen att lägga till ett element i stacken kallas en push-operation. För att ta bort ett element från en stack kan du också ta bort det högsta elementet i stacken. Denna operation kallas pop.
Låt oss titta på de funktioner som är tillgängliga för Stack-samlingen mer detaljerat.
Deklaration av stapeln
En stack skapas med hjälp av stackdata-typen. Nyckelordet "nytt" används för att skapa ett objekt i en stack. Objektet tilldelas sedan variabeln st.
Stack st = new Stack()
Lägga till element i stacken
Push-metoden används för att lägga till ett element på stacken. Uttalandets allmänna syntax ges nedan.
Stack.push(element)
Ta bort element från stacken
Popmetoden används för att ta bort ett element från stacken. Popoperationen returnerar stackens översta element. Uttalandets allmänna syntax ges nedan
Stack.pop()
Räkna
Den här egenskapen används för att få antalet objekt i stacken. Nedan följer den allmänna syntaxen för detta uttalande.
Stack.Count
Innehåller
Denna metod används för att se om ett element finns i stacken. Nedan följer den allmänna syntaxen för detta uttalande. Uttalandet kommer att returnera true om elementet finns, annars returnerar det värdet false.
Stack.Contains(element)
Låt oss nu se att detta fungerar på kodnivå. All koden nedan kommer att skrivas till vår konsolapplikation. Koden kommer att skrivas till vår Program.cs-fil.
I nedanstående program skriver vi koden för att se hur vi kan använda de ovan nämnda metoderna.
Exempel 1
I det här exemplet kommer vi att se
- Hur en stack skapas.
- Hur man visar elementen i stacken och använder metoderna Räkna och innehålla.
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();}}}
Kodförklaring: -
- Det första steget används för att deklarera stacken. Här förklarar vi "st" som en variabel för att hålla elementen i vår stack.
- Därefter lägger vi till 3 element i vår stack. Varje element läggs till via Push-metoden.
- Nu eftersom stapelelementen inte kan nås via indexpositionen som arraylistan måste vi använda en annan metod för att visa elementen i stacken. Objektet (obj) är en tillfällig variabel som deklareras för att hålla varje element i stacken. Vi använder sedan foreach-uttalandet för att gå igenom varje element i stacken. För varje stackelement tilldelas värdet variabeln obj. Vi använder sedan kommandot Console.Writeline för att visa värdet till konsolen.
- Vi använder egenskapen Count ( st.count ) för att få antalet objekt i stacken. Den här egenskapen returnerar ett nummer. Vi visar sedan detta värde på konsolen.
- Vi använder sedan metoden Innehåll för att se om värdet 3 finns i vår stack. Detta returnerar antingen ett sant eller falskt värde. Vi visar sedan detta returvärde till konsolen.
Om koden ovan anges korrekt och programmet körs visas följande utdata.
Produktion:
Från utgången kan vi se att elementen i stacken visas. Värdet på True visas också för att säga att värdet 3 definieras på stacken.
Obs! Du har märkt att det sista elementet som trycktes på stacken visas först. Detta är stapelns översta element. Antalet stackelement visas också i utgången.
Exempel 2
Låt oss nu titta på "ta bort" -funktionen. Vi ser koden som krävs för att ta bort det översta elementet från stacken.
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();}}}
Kodförklaring: -
- Här utfärdar vi bara popmetoden som används för att ta bort ett element från stacken.
Om koden ovan är korrekt angiven och programmet körs, visas följande utdata.
Produktion:
Vi kan se att elementet 3 togs bort från stacken.
Sammanfattning
- En stack baseras på det sista in först ut-konceptet. Funktionen att lägga till ett element i stacken kallas push-operationen. Funktionen för att ta bort ett element till stacken kallas pop-operation.