C # zásobník s príkladom

Obsah:

Anonim

Čo je zásobník v C #?

Zásobník je kolekcia špeciálnych puzdier, ktorá predstavuje koncepciu last in first out (LIFO). Aby sme najskôr pochopili LIFO, vezmime si príklad. Predstavte si hromadu kníh, v ktorých je každá kniha nad sebou.

Koncept „last in first out“ v prípade kníh znamená, že zo stohu kníh je možné odstrániť iba najvyššiu knihu. Nie je možné odstrániť knihu z rozsahu, pretože by to narušilo nastavenie stohu.

Preto v C # zásobník funguje rovnako. Do stohu sa pridávajú prvky, jeden na druhého. Proces pridania prvku do zásobníka sa nazýva operácia push. Ak chcete odstrániť prvok zo stohu, môžete tiež odstrániť horný prvok stohu. Táto operácia je známa ako pop.

Pozrime sa na operácie dostupné pre kolekciu Stack podrobnejšie.

Vyhlásenie o zásobníku

Zásobník sa vytvára pomocou typu Stack Data. Kľúčové slovo „nový“ sa používa na vytvorenie objektu Stack. Objekt je potom priradený k premennej st.

Stack st = new Stack()

Pridávanie prvkov do zásobníka

Na pridanie prvku do stohu sa používa metóda push. Všeobecná syntax príkazu je uvedená nižšie.

Stack.push(element)

Odstránenie prvkov zo stohu

Metóda pop sa používa na odstránenie prvku zo zásobníka. Popová operácia vráti najvyšší prvok zásobníka. Všeobecná syntax príkazu je uvedená nižšie

 Stack.pop()

Gróf

Táto vlastnosť sa používa na získanie počtu položiek v zásobníku. Ďalej uvádzame všeobecnú syntax tohto vyhlásenia.

Stack.Count

Obsahuje

Táto metóda sa používa na zistenie, či je prvok v zásobníku. Ďalej uvádzame všeobecnú syntax tohto vyhlásenia. Príkaz vráti hodnotu true, ak prvok existuje, inak vráti hodnotu false.

Stack.Contains(element)

Teraz sa pozrime, ako to funguje na úrovni kódu. Všetky nižšie uvedené kódy budú zapísané do našej aplikácie Console. Kód sa zapíše do nášho súboru Program.cs.

V nižšie uvedenom programe napíšeme kód, aby sme zistili, ako môžeme vyššie uvedené metódy použiť.

Príklad 1

V tomto príklade uvidíme

  • Ako sa vytvorí zásobník.
  • Ako zobraziť prvky zásobníka a používať metódy 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();}}}

Vysvetlenie kódu: -

  1. Prvý krok sa používa na vyhlásenie balíka. Tu deklarujeme „st“ ako premennú na uchovanie prvkov nášho zásobníka.
  2. Ďalej do nášho zásobníka pridáme 3 prvky. Každý prvok sa pridáva metódou Push.
  3. Teraz, pretože k prvkom zásobníka nie je možné získať prístup cez pozíciu indexu, ako je napríklad zoznam polí, musíme na zobrazenie prvkov zásobníka použiť iný prístup. Objekt (obj) je dočasná premenná, ktorá je deklarovaná na uchovávanie každého prvku zásobníka. Potom použijeme príkaz foreach na prechod cez každý prvok zásobníka. Pre každý prvok zásobníka je hodnota priradená premennej obj. Potom pomocou príkazu Console.Writeline zobrazíme hodnotu na konzole.
  4. Na získanie počtu položiek v zásobníku používame vlastnosť Count ( st.count ). Táto vlastnosť vráti číslo. Túto hodnotu potom zobrazíme na konzolu.
  5. Potom pomocou metódy Obsahuje zistíme, či je v našom zásobníku hodnota 3. Takto sa vráti skutočná alebo nepravdivá hodnota. Túto návratovú hodnotu potom zobrazíme na konzolu.

Ak je vyššie uvedený kód zadaný správne a program je spustený, zobrazí sa nasledujúci výstup.

Výkon:

Z výstupu vidíme, že sa zobrazujú prvky zásobníka. Zobrazí sa tiež hodnota True, čo znamená, že hodnota 3 je definovaná v zásobníku.

Poznámka : Všimli ste si, že posledný prvok vložený do zásobníka sa zobrazí ako prvý. Toto je najvyšší prvok v zásobníku. Počet prvkov zásobníka sa zobrazuje aj na výstupe.

Príklad 2

Teraz sa pozrime na funkčnosť „odstrániť“. Uvidíme kód potrebný na odstránenie najvyššieho prvku zo zásobníka.

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

Vysvetlenie kódu: -

  1. Tu práve vydáme popovú metódu, ktorá sa používa na odstránenie prvku zo zásobníka.

Ak je vyššie uvedený kód zadaný správne a program je spustený, zobrazí sa nasledujúci výstup.

Výkon:

Vidíme, že prvok 3 bol odstránený zo stohu.

Zhrnutie

  • Stack je založený na koncepcii last in first out. Operácia pridania prvku do zásobníka sa nazýva operácia push. Operácia odstránenia prvku do zásobníka sa nazýva popová operácia.