Dynamický zásobník
Téma: Dynamická práce s pamětí
Procvičované učivo: dynamická alokace paměti, ukazatele, funkce, strukturované datové typy
Napište v jazyku C funkce pro práci s dynamickým zásobníkem. Připomínáme, že je o datovou strukturu, jejíž základem ke prvek, který v sobě kromě dat (při řešení této úlohy postačí jedna položka typu int
) obsahuje také ukazatel na prvek, který byl do zásobníku vložen bezprostředně před ním. Se zásobníkem je možné provádět tyto operace: přidání prvku - funkce prvek *pridej(prvek *zasobnik, int data)
, přečtení dat z vrchoolu zásobníku - funkce int vrchol(prvek* zasobnik)
a odebrání prvku z vrcholu zásobníku - funkce prvek *odeber(prvek* zasobnik)
.
Příklad použití:
int main(){ prvek* z=NULL; int i; for (i=1; i<11; i++) z = pridej(z, i); while (z!=NULL){ printf("%i\n", vrchol(z)); z=odeber(z); } return 0; }
Povolené knihovny: stdio.h, stdlib.h
Alternativy úlohy: dynamická fronta, dynamický seznam