C # manual, stack stack și stack stack - t

Stack-ul este un container care funcționează pe principiul "last in, first out" (LIFO). Figura arată o vizualizare în stivă în care metoda Push () adaugă un element, iar metoda Pop () primește ultimul element adăugat:







C # manual, stack stack și stack stack - t

Clasa de colectare care acceptă stiva se numește Stack. Acesta implementează interfețele ICollection, IEnumerable și ICloneable. Această clasă creează o colecție dinamică care se extinde după cum este necesar pentru a stoca elementele pe care le introduce. Ori de câte ori este necesară extinderea unei astfel de colecții, capacitatea sa este dublată.

Clasa Stack definește următorii constructori:

În prima formă proiectantul creează un teanc gol, în a doua formă - stack gol, ceea ce determină mărimea inițială a capacității inițiale, definită de parametrul initialCapacity și oa treia formă - o stivă ce cuprinde elemente indică colecția col. Capacitatea sa inițială este egală cu numărul de elemente specificate.







Clasa Stack definește un număr de metode proprii, pe lângă cele deja declarate în interfețele pe care le implementează. Unele dintre metodele cele mai utilizate în această clasă sunt enumerate mai jos. Aceste metode sunt aplicate de obicei după cum urmează. Pentru a plasa un obiect în partea de sus a stivei, este apelată metoda Push (). Și pentru a extrage și elimina un obiect din partea de sus a stivei, se apelează metoda Pop (). Dacă obiectul trebuie să fie extras, dar nu este îndepărtat din partea de sus a stivei, atunci se va apela metoda Peek (). Și dacă apelați metoda Pop () sau Peek () atunci când stackul de apelare este gol, atunci este lansată o InvalidOperationException.

Stack de stivă este un echivalent generalizat al colecției Stack. Susține stiva sub forma unei liste care funcționează în conformitate cu principiul "primul venit, ultimul servit". În această clasă, sunt implementate interfețele Collection, IEnumerable și IEnumerable. În plus, în clasa Stack Metodele Clear (), Conține () și Crowd (), definite în interfața ICollection. Metodele Add () și Remove () nu sunt acceptate în această clasă, ca într-adevăr proprietatea IsReadOnly. Colecția de stive are un caracter dinamic, extinzându-se după cum este necesar pentru a acomoda toate elementele care ar trebui să fie stocate în el.

Proprietatea Count returnează numărul de elemente din stivă.

Metoda Push () adaugă un element în partea de sus a stivei.

Metoda Pop () îndepărtează și returnează un element din partea de sus a stivei. Dacă teancul este gol, este aruncat un InvalidOperationException.

Metoda Peek () returnează un element din partea superioară a stivei, fără al șterge.

Metoda Contains () verifică un element din stivă și returnează adevărat dacă este găsit acolo.

Să examinăm un exemplu:







Trimiteți-le prietenilor: