Stronę tą wyświetlono już: 2800 razy
Wstęp
Typ generyczny Stack jak sama nazwa wskazuje jest typem obiektu, który umożliwia przechowywanie danych w postaci stosu. Stosem nazywa się taki sposób przechowywania danych, w którym dostęp do kolejnych jego elementów jest możliwy dopiero po zdjęciu elementów znajdujących się nad nim. Jest to kolejka typu LIFO ang. last in first out (ostatni wchodzi, ostatni wychodzi), czyli pierwszy element dodany do stosu jest ostatnim, który można zdjąć z niego.
Tworzenie stosu Stack i dodawanie do niego elementów
Kolejnym typem generycznym, który jest dostępny w przestrzeni nazw:
typ kontenera Stack. Utwórzmy czym prędzej obiekt naszego stosu:
Jak widać jest to klasa szablonowa, w której określa się, jakiego typu dane ma przyjmować dany obiekt. Oto jak do obiektu tej klasy wrzuca się elementy:
Zdejmowanie elementu z stosu wraz z jego zwróceniem
Metoda Pop zdejmuje element z szczytu stosu i zwraca jego wartość:
Wynik działania:
20
Pobieranie elementu ze stosu bez jego zdejmowania
Metoda Peek zwraca element z szczytu stosu:
Wynik działania:
20
Usuwanie wszystkich elementów z stosu
Metoda Clear usuwa wszystkie dodane do stosu elementy:
Brak indeksowania i właściwość Count
Stos nie byłby stosem, gdyby można było się do jego elementów dobrać za pomocą indeksowania, a więc nie można odwołać się do danego elementu stosu w sposób inny niż poprzez zdejmowanie kolejnych elementów tegoż stosu. Istnieje jednak właściwość klasy Stack, która podaje ile elementów znajduje się na stosie. Tą właściwością jest Count:
Kopiowanie elementów stosu do tablicy
Metoda ToList zwraca tablicę Array zawierającą elementy stosu:
Wynik działania:
10 20 15
Kopiowanie elementów stosu do listy
Metoda ToList zwraca listę List zawierającą elementy stosu:
Wynik działania:
10 20 15
Sumowanie elementów stosu
Metoda Sum dla typów prostych umożliwia znalezienie maksymalnej wartości zawartej w stosie:
Wynik działania:
Suma: 45
Dla prostej klasy Point2D:
Można wykonać sumowanie poszczególnych jej pól w sposób następujący:
Wynik działania powyższego kodu:
120 430
Maksymalna wartość liczbowa znajdująca się w stosie
Metoda Max dla typów prostych umożliwia znalezienie maksymalnej wartości zawartej w stosie:
Wynik działania:
Maksimum: 20
Minimalna wartość liczbowa znajdująca się w stosie
Metoda Min dla typów prostych umożliwia znalezienie minimalnej wartości zawartej w stosie:
Wynik działania:
Maksimum: 10