Kas yra „Stack in C #“?
„Stack“ yra specialių bylų kolekcija, kuri atspindi paskutinę pirmoje vietoje (LIFO) koncepciją. Norėdami pirmiausia suprasti LIFO, paimkime pavyzdį. Įsivaizduokite, kad kiekviena knyga yra laikoma viena ant kitos.
„Last in first out“ sąvoka knygų atveju reiškia, kad iš knygų šūsnies galima pašalinti tik daugiausiai knygų. Knygos tarp jų pašalinti neįmanoma, nes tada tai sutrikdytų kamino nustatymą.
Taigi C #, kaminas taip pat veikia taip pat. Elementai pridedami prie kamino, vienas ant kito. Elemento pridėjimo į kaminą procesas vadinamas stūmimo operacija. Norėdami pašalinti elementą iš kamino, taip pat galite pašalinti patį viršutinį kamino elementą. Ši operacija yra žinoma kaip pop.
Pažvelkime į „Stack“ kolekcijai galimas operacijas išsamiau.
Šūsnio deklaracija
Šūsnis sukuriamas naudojant „Stack Data“ tipą. Raktinis žodis „naujas“ naudojamas kuriant kamino objektą. Tada objektas priskiriamas kintamajam st.
Stack st = new Stack()
Elementų pridėjimas prie kamino
Stūmimo būdas naudojamas elementui pridėti prie kamino. Toliau pateikiama bendroji teiginio sintaksė.
Stack.push(element)
Elementų pašalinimas iš kamino
„Pop“ metodas naudojamas elementui pašalinti iš kamino. „Pop“ operacija grąžins aukščiausią kamino elementą. Toliau pateikiama bendroji teiginio sintaksė
Stack.pop()
Grafas
Ši savybė naudojama norint gauti elementų skaičių rietuvėje. Žemiau pateikiama bendra šio teiginio sintaksė.
Stack.Count
Yra
Šis metodas naudojamas norint sužinoti, ar elemente yra kamino. Žemiau pateikiama bendra šio teiginio sintaksė. Teiginys bus teisingas, jei elementas egzistuoja, priešingu atveju jis grąžins vertę klaidinga.
Stack.Contains(element)
Dabar pažiūrėkime, kaip tai veikia kodo lygiu. Visas žemiau nurodytas kodas bus parašytas konsolės programoje. Kodas bus įrašytas į mūsų programą.cs.
Žemiau esančioje programoje parašysime kodą, kad pamatytume, kaip galime naudoti minėtus metodus.
1 pavyzdys
Šiame pavyzdyje pamatysime
- Kaip sukuriamas kaminas.
- Kaip rodyti kamino elementus ir naudoti „Count and Contain“ metodus.
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();}}}
Kodo paaiškinimas: -
- Pirmasis žingsnis naudojamas deklaruoti „Stack“. Čia mes skelbiame "st" kaip kintamąjį, kad laikytume mūsų kamino elementus.
- Tada prie savo kamino pridedame 3 elementus. Kiekvienas elementas pridedamas naudojant „Push“ metodą.
- Kadangi kamino elementai negali būti pasiekiami per indekso poziciją, pvz., Masyvų sąrašą, turime naudoti kitokį požiūrį, kad būtų rodomi kamino elementai. Objektas (obj) yra laikinas kintamasis, kuris deklaruojamas laikant kiekvieną kamino elementą. Tada mes naudojame foreach sakinį, kad pereitume kiekvieną kamino elementą. Kiekvieno kamino elemento vertė priskiriama obj kintamajam. Tada mes naudojame komandą Console.Writeline norėdami parodyti vertę konsolėje.
- Mes naudojame ypatybę Count ( st.count ), kad gautume elementų skaičių rietuvėje. Ši apgyvendinimo įstaiga grąžins numerį. Tada mes rodome šią vertę konsolėje.
- Tada mes naudojame metodą „Yra“, kad pamatytume, ar 3 vertė yra mūsų kamino. Tai grąžins tikrąją arba klaidingą vertę. Tada mes parodome šią grąžinimo vertę konsolėje.
Jei aukščiau nurodytas kodas įvestas tinkamai ir programa vykdoma, bus rodoma tokia išvestis.
Išvestis:
Iš išvesties galime pamatyti, kad rodomi kamino elementai. Taip pat rodoma „True“ reikšmė sakant, kad 3 vertė yra apibrėžta ant kamino.
Pastaba : Pastebėjote, kad paskutinis elementas, stumtas ant kamino, rodomas pirmiausia. Tai yra aukščiausias kamino elementas. Rūmų elementų skaičius taip pat parodytas išvestyje.
2 pavyzdys
Dabar pažvelkime į „pašalinti“ funkcionalumą. Pamatysime kodą, reikalingą viršutiniam elementui pašalinti iš kamino.
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();}}}
Kodo paaiškinimas: -
- Čia mes tiesiog išleidžiame „pop“ metodą, kuris naudojamas pašalinti elementą iš kamino.
Jei aukščiau nurodytas kodas įvestas tinkamai ir programa vykdoma, bus rodomas toks išvestis.
Išvestis:
Matome, kad 3 elementas buvo pašalintas iš kamino.
Santrauka
- „Stack“ yra sukurtas pagal paskutinę pirmoje vietoje išeitį. Elemento pridėjimo prie kamino operacija vadinama stūmimo operacija. Elemento pašalinimo iš rietuvės operacija vadinama „pop“ operacija.