C# Stack med Push & Pop exempel

Vad är Stack i C#?

Stacken är en specialfallssamling som representerar ett sist in först ut-koncept (LIFO). För att först förstå LIFO, låt oss ta ett exempel. Föreställ dig en hög med böcker med varje bok ovanpå varandra.

Konceptet med sist in först ut när det gäller böcker innebär att endast den översta boken kan tas bort från bokhögen. Det går inte att ta bort en bok däremellan, för då skulle det störa inställningen av högen.

Därför i C#, stacken fungerar också på samma sätt. Element läggs till i stapeln, 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 stapel kan du också ta bort det översta elementet i stapeln. Denna operation kallas pop.

Låt oss titta på de funktioner som är tillgängliga för Stack-samlingen mer detaljerat.

Deklaration av stacken

En stack skapas med hjälp av typen Stack Data. Nyckelordet "ny" används för att skapa ett objekt av en stack. Objektet tilldelas sedan variabeln st.

Stack st = new Stack()

Lägga till element i stacken

Pushmetoden används för att lägga till ett element i stacken. Den allmänna syntaxen för uttalandet ges nedan.

Stack.push(element)

Ta bort element från stapeln

Popmetoden används för att ta bort ett element från stacken. Popoperationen returnerar det översta elementet i stacken. Den allmänna syntaxen för uttalandet ges nedan

 Stack.pop()

Att Räkna

Denna egenskap används för att få antalet objekt i stacken. Nedan är 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 är den allmänna syntaxen för detta uttalande. Uttrycket kommer att returnera sant om elementet finns, annars returnerar det värdet false.

Stack.Contains(element)

Låt oss nu se att detta fungerar på kodnivå. All nedan nämnda kod kommer att skrivas till vår Konsolapplikation. Koden kommer att skrivas till vår Program.cs-fil.

I programmet nedan kommer vi att skriva koden för att se hur vi kan använda de ovan nämnda metoderna.

Exempel 1: Stack.Push()-metoden

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åll.

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

Kodförklaring:-

  1. Det första steget används för att deklarera Stacken. Här deklarerar vi "st" som en variabel för att hålla elementen i vår stack.
  2. Därefter lägger vi till 3 element till vår stack. Varje element läggs till via Push-metoden.
  3. Nu eftersom stackelementen inte kan nås via indexpositionen som arraylista, måste vi använda ett annat tillvägagångssätt för att visa elementen i stacken. Objektet (obj) är en temporär variabel, som deklareras för att hålla varje element i stacken. Vi använder sedan foreach-satsen för att gå igenom varje element i stacken. För varje stackelement tilldelas värdet till variabeln obj. Vi använder sedan kommandot Console.Writeline för att visa värdet för konsolen.
  4. Vi använder egenskapen Count (st.count) för att få antalet föremål i högen. Den här egenskapen returnerar ett nummer. Vi visar sedan detta värde till konsolen.
  5. Vi använder sedan Contains-metoden för att se om värdet 3 finns i vår stack. Detta kommer att returnera antingen ett sant eller falskt värde. Vi visar sedan detta returvärde till konsolen.

Om ovanstående kod anges korrekt och programmet körs kommer följande utdata att visas.

Produktion:

Stapla i C#

Från utgången kan vi se att elementen i stacken visas. Dessutom visas värdet på True för att säga att värdet 3 är definierat på stacken.

Anmärkningar: Du har märkt att det sista elementet som tryckts på stapeln visas först. Detta är det översta elementet i stacken. Antalet stackelement visas också i utgången.

Exempel 2: Metoden Stack.Pop()

Låt oss nu titta på "ta bort"-funktionen. Vi kommer att se koden som krävs för att ta bort det översta elementet från stacken.

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

Kodförklaring:-

  1. Här utfärdar vi bara popmetoden som används för att ta bort ett element från stacken.

Om ovanstående kod anges korrekt och programmet körs, kommer följande utdata att visas.

Produktion:

Stapla i C#

Vi kan se att elementet 3 togs bort från stapeln.

Sammanfattning

  • En stack är baserad på sist in först ut-konceptet. Operationen att lägga till ett element till stacken kallas push-operationen. Operationen att ta bort ett element till stapeln kallas pop-operationen.