Dnes si povíme o generické kolekci typu Stack - v překladu zásobník. Je velmi podobná frontě, kterou jsme probírali minule. Má jen 2 základní funkce:
- Push - přidání jedné položky do zásobníku
- Pop - odebrání jedné položky z vrchu zásobníku
Jako příklad může sloužit zásobník na CD.
Příkaz Push přidává CD do zásobníku a Pop je z vrchu odebírá. Tentokrát se jedná o seznam typu FILO - zkratka first in last out - tedy první dovnitř poslední ven. Pokud přidáme CD v pořadí A, B, C, vyjmeme je postupně v pořadí C, B, A:
Dim zasobnik As New System.Collections.Generic.Stack(Of String)()
zasobnik.Push("A") ' CD A je na dně zásobníku
zasobnik.Push("B") ' CD B je nad CD A
zasobnik.Push("C") ' CD C je nad CD B, které je nad CD A
Console.WriteLine(zasobnik.Pop()) ' první odebereme z vrchu CD C
Console.WriteLine(zasobnik.Pop()) ' druhé odebereme z vrchu CD B
Console.WriteLine(zasobnik.Pop()) ' a poslední na dně CD A
Stejně jako u fronty i zde máme funkci Peek, která vrací vrchní záznam ze zásobníku (stejně jako Pop), ale nevyjme tento prvek ven.
V této sérii jsem psal i o následujících třídách:
List
Dictionary
SortedDictionary a SortedList
Queue
Stack
HashSet