Na początek przedstawię deklarację klasy..
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | class stack { private: struct wezel { wezel *next; int value; }; wezel* head; public: stack(); ~stack(); bool push(int); int pop(); }; |
Struktura węzła to nic innego jak sam wskaźnik i wartość. Dalej mamy konstruktor i destruktor oraz funkcję push(int) czyli dodaj na stos i pop() czy zdejmij ze stosu.
No i właściwa implementacja tej klasy:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | stack::stack(){ head=NULL; // na poczatek ustawiamy head na null, czyli stos na poczatku jest zerowy } stack::~stack(){ delete head; } bool stack::push(int a){ wezel* nowy = new wezel; //tworzymy nowy węzeł, nowy egzemplarz struktury nowy->value=a; //dopisujemy do niego wartosć podana w parametrze push(int) nowy->next=head;//jako kolejny element w stosie będzie glowa, czyli nasz null head=nowy;//ustawiamy nasz nowo stworzony węzeł jako pierwyszy (w stosie kładziemy na wierzch i zdejmujemy zwierzchu) return true; //i zwracamy true.. } int stack::pop(){ return head->value; //zwracamy wartość z góry stosu } |
Całość implementacji jest zrobiona poprawnie, ale brakuje jednego elementu ;)
Przy pobieraniu wartości z góry stosu od razu jest ona kasowana. I to zadanie jest do zrobienia dla Ciebie! :) Jeśli uda Ci się dopisac usuwanie pobieranego elementu – będzie to już całościowa implementacja stosu. Jak to zrobić? Podpowiedź znajdziesz w komentarzach do kodu który znajdziesz tutaj :)
Cześć! W Pythonie 3.13 dodano JITa! JIT, czyli just-in-time compiler to optymalizacja na która Python naprawdę długo czekał. Na nasze… Read More
Cześć! Zapraszam na podsumowanie roku 2024. Książki W sumie rok 2024 był pod względem ilości książek nieco podobny do roku… Read More
Podtrzymując tradycję, prawie regularnych podsumowań, zapraszam na wpis! Nie mogło obyć się bez Karkonoszy We wrześniu odwiedziłem z kolegą Karkonosze,… Read More
Oj daaawnoo mnie tu nie było. Ale wakacje to był czas dużej liczby intensywnych wyjazdów i tak naprawdę, dopiero jakoś… Read More
Cześć! Zapraszam na krótkie podsumowanie kwietnia. Wyjazd do Niemiec A dokładniej pod granicę z Francją. Chrześnica miała pierwszą komunię. Po… Read More
Ostatnio tygodnie były tak bardzo wypełnione, że nie udało mi się napisać nawet krótkiego podsumowanie. Więc dziś zbiorczo podsumuję luty… Read More