C # stog s primjerom

Sadržaj:

Anonim

Što je Stack u C #?

Stog je posebna kolekcija slučajeva koja predstavlja koncept LIFO (last-in-first out). Da prvo razumijemo LIFO, uzmimo primjer. Zamislite hrpu knjiga sa svakom knjigom koja se nalazi jedna na drugoj.

Koncept posljednjeg ulaza u slučaju knjiga znači da se iz hrpe knjiga može ukloniti samo knjiga s najviše vrha. Između nije moguće ukloniti knjigu, jer bi to onda poremetilo postavljanje stoga.

Dakle, u C #, stek također radi na isti način. Elementi se dodaju u niz, jedan na vrhu drugog. Proces dodavanja elementa u stog naziva se push operacija. Da biste uklonili element iz snopa, možete ukloniti i gornji element snopa. Ova je operacija poznata kao pop.

Pogledajmo detaljnije operacije dostupne za zbirku Stack.

Izjava stoga

Sklop se stvara uz pomoć vrste Stack Data. Ključna riječ "novo" koristi se za stvaranje objekta steka. Zatim se objekt dodjeljuje varijabli st.

Stack st = new Stack()

Dodavanje elemenata u stog

Metoda guranja koristi se za dodavanje elementa u stog. Opća sintaksa izjave data je u nastavku.

Stack.push(element)

Uklanjanje elemenata iz hrpe

Metoda pop koristi se za uklanjanje elementa iz stoga. Skočna operacija vratit će najviši element stoga. Opća sintaksa izjave data je u nastavku

 Stack.pop()

Računati

Ovo se svojstvo koristi za dobivanje broja predmeta u stogu. Ispod je opća sintaksa ove izjave.

Stack.Count

Sadrži

Ovom se metodom provjerava je li element prisutan u stogu. Ispod je opća sintaksa ove izjave. Izraz će vratiti true ako element postoji, inače će vratiti vrijednost false.

Stack.Contains(element)

Pogledajmo sada kako ovo djeluje na razini koda. Sav dolje navedeni kôd bit će zapisan u našu aplikaciju Console. Kôd će biti zapisan u našu datoteku Program.cs.

U donjem programu napisat ćemo kôd kako bismo vidjeli kako se možemo koristiti gore spomenutim metodama.

Primjer 1

U ovom primjeru ćemo vidjeti

  • Kako se stvara stog.
  • Kako prikazati elemente stoga i koristiti metode Brojanje i Sadržaj.

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

Objašnjenje koda: -

  1. Prvi se korak koristi za deklariranje stoga. Ovdje deklariramo "st" kao varijablu koja sadrži elemente našeg stoga.
  2. Dalje, u svoj stog dodajemo 3 elementa. Svaki se element dodaje metodom Push.
  3. Sada budući da se elementima stoga ne može pristupiti putem indeksnog položaja poput popisa nizova, trebamo koristiti drugačiji pristup za prikaz elemenata stoga. Objekt (obj) je privremena varijabla koja se deklarira za držanje svakog elementa stoga. Zatim koristimo foreach izjavu za prolazak kroz svaki element stoga. Za svaki element steka vrijednost se dodjeljuje varijabli obj. Zatim koristimo naredbu Console.Writeline za prikaz vrijednosti na konzoli.
  4. Koristimo svojstvo Count ( st.count ) da bismo dobili broj predmeta u stogu. Ovo svojstvo vratit će broj. Zatim tu vrijednost prikazujemo na konzoli.
  5. Zatim koristimo metodu Contains da vidimo je li vrijednost 3 prisutna u našem stogu. To će vratiti istinitu ili lažnu vrijednost. Zatim tu povratnu vrijednost prikazujemo na konzoli.

Ako se gornji kôd pravilno unese i program pokrene, prikazat će se sljedeći izlaz.

Izlaz:

Iz rezultata možemo vidjeti da su prikazani elementi stoga. Također, prikazuje se vrijednost True koja govori da je vrijednost 3 definirana na stogu.

Napomena : Primijetili ste da se prvi prikazuje zadnji element gurnut na stog. Ovo je najviši element hrpe. Broj elemenata stoga također je prikazan u izlazu.

Primjer 2

Pogledajmo sada funkcionalnost "uklanjanja". Vidjet ćemo kod potreban za uklanjanje gornjeg elementa iz stoga.

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

Objašnjenje koda: -

  1. Ovdje samo izdajemo pop metodu koja se koristi za uklanjanje elementa iz stoga.

Ako se gornji kôd pravilno unese i program pokrene, prikazat će se sljedeći izlaz.

Izlaz:

Vidimo da je element 3 uklonjen iz hrpe.

Sažetak

  • Stog se temelji na posljednjem in first out konceptu. Operacija dodavanja elementa u stog naziva se push operacija. Operacija uklanjanja elementa u hrpu naziva se pop operacija.