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


Creative Commons License Sbírka úloh z jazyka C. © Katedra informatiky Univerzity Palackého v Olomouci, 2009.
Projekt byl vytvořen za podpory grantu FRVŠ 2061/2009/G1.