C # zásobník s příkladem

Obsah:

Anonim

Co je zásobník v C #?

Zásobník je kolekce speciálních případů, která představuje koncept last in first out (LIFO). Nejprve pochopíme LIFO, pojďme si vzít příklad. Představte si hromadu knih, kde by každá kniha byla nad sebou.

Koncept last in first out v případě knih znamená, že ze stohu knih lze odebrat pouze nejvyšší část knihy. Není možné vyjmout knihu mezi tím, protože by to narušilo nastavení zásobníku.

Proto v C # zásobník také funguje stejným způsobem. Do zásobníku se přidávají prvky, jeden na druhého. Proces přidání prvku do zásobníku se nazývá operace push. Chcete-li odebrat prvek ze zásobníku, můžete také odebrat nejvrchnější prvek zásobníku. Tato operace je známá jako pop.

Podívejme se na operace dostupné pro kolekci Stack podrobněji.

Prohlášení o zásobníku

Zásobník je vytvořen pomocí typu Stack Data. Klíčové slovo „nový“ se používá k vytvoření objektu zásobníku. Objekt je poté přiřazen k proměnné st.

Stack st = new Stack()

Přidávání prvků do zásobníku

Metoda push se používá k přidání prvku do zásobníku. Obecná syntaxe příkazu je uvedena níže.

Stack.push(element)

Odebírání prvků ze zásobníku

Metoda pop se používá k odebrání prvku ze zásobníku. Operace pop vrátí nejvyšší prvek zásobníku. Obecná syntaxe příkazu je uvedena níže

 Stack.pop()

Počet

Tato vlastnost se používá k získání počtu položek v zásobníku. Níže je uvedena obecná syntaxe tohoto příkazu.

Stack.Count

Obsahuje

Tato metoda se používá ke zjištění, zda je prvek v zásobníku. Níže je uvedena obecná syntaxe tohoto příkazu. Příkaz vrátí hodnotu true, pokud prvek existuje, jinak vrátí hodnotu false.

Stack.Contains(element)

Nyní se podívejme, jak to funguje na úrovni kódu. Veškerý níže uvedený kód bude zapsán do naší aplikace Console. Kód bude zapsán do našeho souboru Program.cs.

V níže uvedeném programu napíšeme kód, abychom zjistili, jak můžeme použít výše uvedené metody.

Příklad 1

V tomto příkladu uvidíme

  • Jak se vytvoří zásobník.
  • Jak zobrazit prvky zásobníku a použít metody Count a 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();}}}

Vysvětlení kódu: -

  1. První krok se používá k deklaraci zásobníku. Zde deklarujeme „st“ jako proměnnou, která drží prvky našeho zásobníku.
  2. Dále přidáme 3 prvky do našeho zásobníku. Každý prvek je přidán metodou Push.
  3. Nyní, protože k prvkům zásobníku nelze přistupovat prostřednictvím polohy indexu, jako je seznam polí, musíme použít jiný přístup k zobrazení prvků zásobníku. Object (obj) je dočasná proměnná, která je deklarována pro držení každého prvku zásobníku. Poté pomocí příkazu foreach projdeme každý prvek zásobníku. Pro každý prvek zásobníku je hodnota přiřazena proměnné obj. Potom použijeme příkaz Console.Writeline k zobrazení hodnoty na konzoli.
  4. Vlastnost Count ( st.count ) používáme k získání počtu položek v zásobníku. Tato vlastnost vrátí číslo. Tuto hodnotu poté zobrazíme na konzoli.
  5. Potom použijeme metodu Contains, abychom zjistili, zda je v našem zásobníku hodnota 3. Vrátí buď hodnotu true, nebo false. Tuto návratovou hodnotu poté zobrazíme na konzoli.

Pokud je výše uvedený kód zadán správně a program je spuštěn, zobrazí se následující výstup.

Výstup:

Z výstupu vidíme, že jsou zobrazeny prvky zásobníku. Zobrazí se také hodnota True, která říká, že hodnota 3 je definována v zásobníku.

Poznámka : Všimli jste si, že poslední prvek vložený do zásobníku se zobrazí jako první. Toto je nejvyšší prvek v zásobníku. Počet prvků zásobníku se také zobrazuje ve výstupu.

Příklad 2

Nyní se podívejme na funkci „odebrání“. Uvidíme kód potřebný k odebrání nejvyššího prvku ze zásobníku.

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

Vysvětlení kódu: -

  1. Zde právě vydáme popovou metodu, která se používá k odebrání prvku ze zásobníku.

Pokud je výše uvedený kód zadán správně a program je spuštěn, zobrazí se následující výstup.

Výstup:

Vidíme, že prvek 3 byl odstraněn ze zásobníku.

souhrn

  • Stack je založen na koncepci last in first out. Operace přidání prvku do zásobníku se nazývá operace push. Operace odebrání prvku do zásobníku se nazývá popová operace.