C # Verem a példával

Tartalomjegyzék:

Anonim

Mi a Stack a C # -ben?

A verem egy speciális esetgyűjtemény, amely az utolsó az elsőben (LIFO) koncepciót képviseli. A LIFO megértéséhez vegyünk egy példát. Képzeljen el egy halom könyvet, amelyeken minden könyv egymásra kerül.

A könyvek esetében a last in first out fogalma azt jelenti, hogy a könyvek halmazából csak a legtöbb könyv tetejét lehet eltávolítani. Könyvet nem lehet eltávolítani a kettő közül, mert akkor ez zavarná a verem beállítását.

Ezért a C # -ben a verem is ugyanúgy működik. Elemek kerülnek a verembe, egymás tetején. Egy elemnek a verembe történő felvételét push műveletnek nevezzük. Ha el akarunk távolítani egy elemet a veremből, eltávolíthatjuk a verem legfelső elemét is. Ez a művelet pop néven ismert.

Nézzük meg részletesebben a Stack gyűjtemény számára elérhető műveleteket.

A verem nyilatkozata

Verem jön létre a Stack Data típus segítségével. Az "új" kulcsszó egy verem objektumának létrehozására szolgál. Ezután az objektumot a st változóhoz rendeljük.

Stack st = new Stack()

Elemek hozzáadása a veremhez

A push módszerrel elemet lehet hozzáadni a veremhez. Az állítás általános szintaxisa az alábbiakban található.

Stack.push(element)

Elemek eltávolítása a veremből

A pop módszer arra szolgál, hogy eltávolítson egy elemet a veremből. A pop művelet a verem legfelső elemét adja vissza. Az állítás általános szintaxisa az alábbiakban található

 Stack.pop()

Számol

Ez a tulajdonság arra szolgál, hogy megkapja a halom elemszámát. Az alábbiakban ennek az állításnak az általános szintaxisa található.

Stack.Count

Tartalmaz

Ezt a módszert arra használják, hogy megnézzék, van-e elem a veremben. Az alábbiakban ennek az állításnak az általános szintaxisa található. Az utasítás igaz lesz, ha az elem létezik, különben hamis értéket ad vissza.

Stack.Contains(element)

Most nézzük meg, hogy ez kódszinten működik. Az alábbiakban említett összes kódot a Console alkalmazásunkba írjuk. A kód be lesz írva a Program.cs fájlunkba.

Az alábbi programban megírjuk a kódot, hogy lássuk, miként használhatjuk a fent említett módszereket.

1. példa

Ebben a példában meglátjuk

  • Hogyan jön létre egy verem.
  • A verem elemeinek megjelenítése, valamint a Count and Contain metódus használata.

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

Kód Magyarázat: -

  1. Az első lépést a Verem deklarálásához használjuk. Itt deklaráljuk az "st" -t mint változót a verem elemeinek megtartására.
  2. Ezután 3 elemet adunk a veremhez. Minden elem hozzáadása a Push módszerrel történik.
  3. Mivel a verem elemei nem érhetők el az index pozíción keresztül, mint például a tömblista, ezért más megközelítést kell alkalmaznunk a verem elemeinek megjelenítéséhez. Az Object (obj) egy ideiglenes változó, amely deklarálva van a verem minden elemének megtartására. Ezután a foreach utasítással átmegyünk a verem minden elemén. Minden veremelemhez az értéket hozzáadjuk az obj változóhoz. Ezután a Console.Writeline paranccsal jelenítjük meg az értéket a konzol számára.
  4. A Count tulajdonságot ( st.count ) használjuk a veremben lévő elemek számának megszerzéséhez. Ez a szálláshely számot ad vissza. Ezután megjelenítjük ezt az értéket a konzolon.
  5. Ezután a Tartalmaz módszerrel ellenőrizzük, hogy a 3 értéke szerepel-e a veremben. Ez igaz vagy hamis értéket ad vissza. Ezután ezt a visszatérési értéket megjelenítjük a konzolon.

Ha a fenti kódot helyesen adta meg és a program fut, a következő kimenet jelenik meg.

Kimenet:

A kimenetből láthatjuk, hogy a verem elemei megjelennek. Továbbá a True értéke jelenik meg, hogy azt mondhassa, hogy a 3 értéke meg van határozva a veremben.

Megjegyzés : Észrevette, hogy a veremre utoljára feltett elem jelenik meg először. Ez a verem legfelső eleme. A verem elemek száma is megjelenik a kimenetben.

2. példa

Most nézzük meg az "eltávolítás" funkciót. Meglátjuk a legfelső elem eltávolításához szükséges kódot a veremből.

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

Kód Magyarázat: -

  1. Itt csak a pop módszert adjuk ki, amelyet egy elem eltávolításához használunk a veremből.

Ha a fenti kódot helyesen adjuk meg, és a program fut, a következő kimenet jelenik meg.

Kimenet:

Láthatjuk, hogy a 3. elemet eltávolították a veremből.

Összegzés

  • A verem az utoljára első out koncepción alapszik. Egy elemnek a verembe történő felvételét push műveletnek nevezzük. Egy elemnek a verembe való eltávolítását pop műveletnek nevezzük.