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 :)
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
Zapraszam na krótkie podsumowanie miesiąca. Książki W styczniu przeczytałem "Homo Deus: Historia jutra". Książka łudząco podoba do wcześniejszej książki tego… Read More
Cześć! Zapraszam na podsumowanie roku 2023. Książki Zacznijmy od książek. W tym roku cel 35 książek nie został osiągnięty. Niemniej… Read More
Zapraszam na krótkie podsumowanie miesiąca. Książki W grudniu skończyłem czytać Mein Kampf. Nudna książka. Ciekawsze fragmenty można by było streścić… Read More