Ce este Stack in C #?
Stiva este o colecție specială de carcase care reprezintă un concept LIFO (last in first out first out). Pentru a înțelege mai întâi LIFO, să luăm un exemplu. Imaginați-vă un teanc de cărți cu fiecare carte ținută una peste alta.
Conceptul last in first out în cazul cărților înseamnă că numai cea mai de sus carte poate fi scoasă din teancul de cărți. Nu este posibil să scoateți o carte din mijloc, deoarece atunci acest lucru ar perturba setarea stivei.
Prin urmare, în C #, stiva funcționează, de asemenea, în același mod. Elementele sunt adăugate la stivă, una peste alta. Procesul de adăugare a unui element în stivă se numește operațiune push. Pentru a elimina un element dintr-un teanc, puteți elimina și cel mai de sus element al teancului. Această operațiune este cunoscută sub numele de pop.
Să analizăm mai detaliat operațiunile disponibile pentru colecția Stack.
Declarația stivei
O stivă este creată cu ajutorul tipului Stack Data. Cuvântul cheie „nou” este utilizat pentru a crea un obiect dintr-o stivă. Obiectul este apoi atribuit variabilei st.
Stack st = new Stack()
Adăugarea de elemente la stivă
Metoda push este folosită pentru a adăuga un element în stivă. Sintaxa generală a enunțului este dată mai jos.
Stack.push(element)
Eliminarea elementelor din stivă
Metoda pop este utilizată pentru a elimina un element din stivă. Operația pop va returna cel mai de sus element al stivei. Sintaxa generală a enunțului este dată mai jos
Stack.pop()
Numara
Această proprietate este utilizată pentru a obține numărul de articole din stivă. Mai jos este sintaxa generală a acestei afirmații.
Stack.Count
Conține
Această metodă este utilizată pentru a vedea dacă un element este prezent în Stack. Mai jos este sintaxa generală a acestei afirmații. Instrucțiunea va reveni adevărată dacă elementul există, altfel va returna valoarea falsă.
Stack.Contains(element)
Acum să vedem că funcționează la un nivel de cod. Toate codurile menționate mai jos vor fi scrise în aplicația Consolei noastre. Codul va fi scris în fișierul nostru Program.cs.
În programul de mai jos, vom scrie codul pentru a vedea cum putem folosi metodele menționate mai sus.
Exemplul 1
În acest exemplu, vom vedea
- Cum se creează un teanc.
- Cum se afișează elementele stivei și se utilizează metodele de numărare și conținere.
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();}}}
Cod Explicație: -
- Primul pas este folosit pentru a declara stiva. Aici declarăm „st” ca o variabilă pentru a păstra elementele stivei noastre.
- Apoi, adăugăm 3 elemente la stiva noastră. Fiecare element este adăugat prin metoda Push.
- Acum, deoarece elementele stivei nu pot fi accesate prin intermediul poziției indexului, precum lista matricei, trebuie să folosim o abordare diferită pentru a afișa elementele stivei. Obiectul (obj) este o variabilă temporară, care este declarată pentru păstrarea fiecărui element al stivei. Apoi folosim instrucțiunea foreach pentru a parcurge fiecare element al stivei. Pentru fiecare element de stivă, valoarea este atribuită variabilei obj. Apoi folosim comanda Console.Writeline pentru a afișa valoarea consolei.
- Folosim proprietatea Count ( st.count ) pentru a obține numărul de articole din stivă. Această proprietate va returna un număr. Afișăm apoi această valoare pe consolă.
- Apoi folosim metoda Conține pentru a vedea dacă valoarea 3 este prezentă în stiva noastră. Aceasta va returna fie o valoare adevărată, fie falsă. Afișăm apoi această valoare de returnare în consolă.
Dacă codul de mai sus este introdus corect și programul este rulat, va fi afișată următoarea ieșire.
Ieșire:
Din ieșire, putem vedea că sunt afișate elementele stivei. De asemenea, valoarea True este afișată pentru a spune că valoarea 3 este definită pe stivă.
Notă : ați observat că ultimul element împins pe stivă este afișat mai întâi. Acesta este cel mai de sus element al stivei. Numărul de elemente de stivă este, de asemenea, prezentat în ieșire.
Exemplul 2
Acum să analizăm funcționalitatea „elimină”. Vom vedea codul necesar pentru a elimina elementul cel mai de sus din stivă.
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();}}}
Cod Explicație: -
- Aici lansăm doar metoda pop care este utilizată pentru a elimina un element din stivă.
Dacă codul de mai sus este introdus corect și programul este rulat, va fi afișată următoarea ieșire.
Ieșire:
Putem vedea că elementul 3 a fost eliminat din stivă.
rezumat
- A Stack se bazează pe ultimul concept în primul care iese. Operația de adăugare a unui element în stivă se numește operație de împingere. Operația de eliminare a unui element în stivă se numește operație pop.