Stack

Stack<T>
Stos to typ kolekcji z zachowaniem Last-In-First-Out (LIFO). Ostatni przyszedł pierwszy wyszedł. To tutaj następny element, który chcemy przetworzyć, to ostatni element, który umieściliśmy w kolekcji.
Ze stosu pobieramy zawsze ostatni element.

Często stosujemy stos w scenariuszach, w których musimy zapewnić użytkownikowi możliwość powrotu. Pomyśl o swojej przeglądarce. Podczas przechodzenia do różnych stron internetowych odwiedzane adresy są umieszczane na stosie. Następnie, po kliknięciu przycisku Wstecz, element na stosie (który reprezentuje aktualny adres w przeglądarce) jest wyskakujący i teraz możemy uzyskać ostatni odwiedzony adres z elementu na stosie. Funkcja cofania w aplikacjach jest również implementowana przy użyciu stosu.

Oto jak możesz użyć stosu w C #:

var stack = new Stack<string>();
             
// Pchaj element na stos
stack.Push("http://www.dev-hobby.pl");
 
// Sprawdź, czy stos zawiera dany element
var contains = stack.Contains("http://www.dev-hobby.pl");
 
// Usuń i zwróć element ze stosu
var top = stack.Pop();
 
// Podejrzyj przedmiot na wierzchu stosu, nie usuwając go
var top = stack.Peek();
 
// Uzyskaj liczbę elementów na stosie
var count = stack.Count;
 
//Usuń wszystkie elementy ze stosu 
stack.Clear();

Wewnętrznie stos jest implementowany za pomocą tablicy. Ponieważ tablice w języku C# mają stały rozmiar, w miarę jak wpychasz elementy do stosu, może być konieczne zwiększenie jego pojemności przez ponowne przydzielenie większej tablicy i skopiowanie istniejących elementów do nowej tablicy. Jeśli wymagana jest ponowna alokacja, zakładając, że stos zawiera n elementów, wszystkie te elementy należy skopiować do nowej tablicy.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *