Wpisany przez Michał Knasiecki,
29 lipca 2005 01:00
Stos jest strukturą liniowo uporządkowanych danych, z których jedynie ostatni element, zwany wierzchołkiem, jest w danym momencie dostępny. W wierzchołku odbywa się dołączanie nowych elementów, również jedynie wierzchołek można usunąć.
Stos jest bardzo często wykorzystywaną strukturą danych. Działanie na nim jest częśto porównywane do stosu talerzy: nie można usunąć talerza znajdującego się na dnie stosu nie usuwając wcześniej wszystkich innych. Nie można także dodać nowego talerza gdzieś indziej, niż na samą górę.
Przykładowe zastosowanie stosu możesz poznać w algorytmie Inf-2-ONP zmieniający notację zapisu liczb z infiksowej na Odwrotną Notację Polską.
Oto schemat stosu:
Obraz stosu:
Stos jest bardzo często wykorzystywaną strukturą danych. Działanie na nim jest częśto porównywane do stosu talerzy: nie można usunąć talerza znajdującego się na dnie stosu nie usuwając wcześniej wszystkich innych. Nie można także dodać nowego talerza gdzieś indziej, niż na samą górę.
Przykładowe zastosowanie stosu możesz poznać w algorytmie Inf-2-ONP zmieniający notację zapisu liczb z infiksowej na Odwrotną Notację Polską.
Oto schemat stosu:
Przykład w JavaScript:
Obraz stosu:
Implementacje
Autor | Język programowania | Komentarz | Otwórz | Pobierz | Ocena |
Kamil Dworak | C# | Visual Studio 2008 | .cs | .cs | ***** / 13 |
Michał Knasiecki | C/C++ | .cpp | .cpp | ***** / 23 | |
Marian | C/C++ | C++ | .cpp | .cpp | ***** / 55 |
Bartosz Bednarczyk | C/C++ | Plik nagłówkowy - C++ templates | .cpp | .cpp | ***** / 2 |
Michał Knasiecki | Delphi/Pascal | Borland Delphi 5 | .pas | .pas | ***** / 5 |
Kamil Dworak | Java | JDK 1.6 | .java | .java | ***** / 5 |
Jakub Szczeklik | JavaScript | implementacja klasy stosu | .js | .js | ***** / 3 |
Tomasz Lubiński | JavaScript | z użyciem tablicy i funkcji | .js | .js | ***** / 1 |
Marek Rynarzewski | Php | Stos za pomocą tablicy i indeksu top | .php | .php | ***** / 2 |
Jakub Konieczny | Python | klasa stosu z użyciem wskaźników | .py | .py | ***** / 1 |
Bartosz Bednarczyk | Python | klasa stosu z użyciem tablicy | .py | .py | ***** / 7 |
Alek | Ruby | Klasa stosu z użyciem tablicy | .rb | .rb | ***** / 1 |
Poprawiony: 30 sierpnia 2012 19:40