C # Stack z zgledom

Kazalo:

Anonim

Kaj je sklad v C #?

Sklop je posebna zbirka primerov, ki predstavlja koncept LIFO (last-first-out out). Da najprej razumemo LIFO, vzemimo primer. Predstavljajte si kup knjig z vsako knjigo eno na drugi.

Koncept zadnjega prvega v primeru knjig pomeni, da je iz sklada knjig mogoče odstraniti le največ knjig, ki so na vrhu. Vmes ni mogoče odstraniti knjige, ker bi to motilo nastavitev sklada.

Zato tudi v C # sklad deluje na enak način. Elementi se dodajo v sklad, eden na vrhu drugega. Postopek dodajanja elementa v sklad se imenuje potisna operacija. Če želite element odstraniti iz sklada, lahko odstranite tudi najbolj zgornji element sklada. Ta postopek je znan kot pop.

Oglejmo si podrobneje operacije, ki so na voljo za zbirko Stack.

Izjava sklada

Sklop se ustvari s pomočjo vrste Stack Data. Ključna beseda "novo" se uporablja za ustvarjanje predmeta sklada. Nato je predmet dodeljen spremenljivki st.

Stack st = new Stack()

Dodajanje elementov v sklad

Potisna metoda se uporablja za dodajanje elementa v sklad. Splošna sintaksa stavka je podana spodaj.

Stack.push(element)

Odstranjevanje elementov iz sklada

Metoda pop se uporablja za odstranjevanje elementa iz sklada. Operacija pop bo vrnila najvišji element sklada. Splošna sintaksa stavka je podana spodaj

 Stack.pop()

Štetje

Ta lastnost se uporablja za pridobivanje števila elementov v skladišču. Spodaj je splošna sintaksa te izjave.

Stack.Count

Vsebuje

Ta metoda se uporablja za ugotavljanje, ali je element prisoten v skladu. Spodaj je splošna sintaksa te izjave. Stavek bo vrnil true, če element obstaja, sicer pa vrednost false.

Stack.Contains(element)

Zdaj pa poglejmo, kako to deluje na ravni kode. Vsa spodaj navedena koda bo zapisana v našo aplikacijo Console. Koda bo zapisana v datoteko Program.cs.

V spodnjem programu bomo napisali kodo, da bomo videli, kako lahko uporabimo zgoraj omenjene metode.

Primer 1

V tem primeru bomo videli

  • Kako se ustvari kup.
  • Kako prikazati elemente sklada in uporabiti metode Count and Contain.

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

Pojasnilo kode: -

  1. Prvi korak se uporablja za razglasitev sklada. Tu razglašamo "st" kot spremenljivko, ki vsebuje elemente našega sklada.
  2. Nato v svoj kup dodamo 3 elemente. Vsak element se doda po metodi Push.
  3. Ker zdaj do elementov sklada ni mogoče dostopati prek položaja indeksa, kot je seznam matrike, moramo za prikaz elementov sklada uporabiti drugačen pristop. Objekt (obj) je začasna spremenljivka, ki je določena za zadrževanje vsakega elementa sklada. Nato s pomočjo stavka foreach preidemo skozi vsak element sklada. Za vsak element sklada je vrednost dodeljena spremenljivki obj. Nato za prikaz vrednosti v konzoli uporabimo ukaz Console.Writeline.
  4. Za pridobitev števila elementov v kupu uporabimo lastnost Count ( st.count ). Ta lastnost bo vrnila številko. Nato to vrednost prikažemo na konzoli.
  5. Nato z metodo Contains preverimo, ali je vrednost 3 prisotna v našem kupu. To bo vrnilo resnično ali napačno vrednost. Nato to vrnjeno vrednost prikažemo v konzoli.

Če je zgornja koda pravilno vnesena in se program zažene, se prikaže naslednji izhod.

Izhod:

Iz izhoda lahko vidimo, da so prikazani elementi sklada. Prikaže se tudi vrednost True, ki pomeni, da je vrednost 3 določena na skladu.

Opomba : Opazili ste, da se najprej prikaže zadnji element, potisnjen na sklad. To je najvišji element sklada. Število elementov sklada je prav tako prikazano v izhodu.

2. primer

Zdaj pa poglejmo funkcionalnost "odstrani". Videli bomo kodo, potrebno za odstranitev najvišjega elementa iz sklada.

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

Pojasnilo kode: -

  1. Tu izdajamo samo metodo pop, ki se uporablja za odstranjevanje elementa iz sklada.

Če je zgornja koda pravilno vnesena in se program zažene, se prikaže naslednji izhod.

Izhod:

Vidimo, da je bil element 3 odstranjen iz sklada.

Povzetek

  • Stack temelji na konceptu "zadnji v prvem izhodu". Postopek dodajanja elementa v sklad se imenuje potisna operacija. Operacija odstranjevanja elementa v sklad se imenuje pop operacija.