objasni "prikazuje", molim te. jer ovako ne znam sto bi ti trebalo objasniti, pa cu ti napisati najosnovnije...
stog u polju izgleda ovako...
imas elemente u nizu, pokazivac na pocetak polja i brojac "i" koji govori "koje je prvo slobodno mjesto u polju".
ako zelis dodati novi element onda (polje je recimo "a")
a[i++]=element;
dakle, dodas element i povecas "i" za 1.
ako zelis uzeti zadnji element
return a[--i];
dakle, pomaknes se za jedno mjesto "uljevo", uzmes taj element i proglasis to mjesto slobodnim.
stog realiziran listom radi slicno, svaki element ima pokazivac na "prethodnog", najdonji element ima pokazivac na NULL, a pokazivac nazovimo ga "p" pokazuje na zadnji (najgornji) element.
kada dodajes onda
el.prethodni=p;
p=⪙
a kada skidas
temp=*p;
p=p->prethodni;
return temp;
naravno, u ovim slucajevima nisam pisao sto se dogodi ako dodjes do "kraja" ili "dna" stoga, ali to bi trebao sam.
objasni "prikazuje", molim te. jer ovako ne znam sto bi ti trebalo objasniti, pa cu ti napisati najosnovnije...
stog u polju izgleda ovako...
imas elemente u nizu, pokazivac na pocetak polja i brojac "i" koji govori "koje je prvo slobodno mjesto u polju".
ako zelis dodati novi element onda (polje je recimo "a")
a[i++]=element;
dakle, dodas element i povecas "i" za 1.
ako zelis uzeti zadnji element
return a[–i];
dakle, pomaknes se za jedno mjesto "uljevo", uzmes taj element i proglasis to mjesto slobodnim.
stog realiziran listom radi slicno, svaki element ima pokazivac na "prethodnog", najdonji element ima pokazivac na NULL, a pokazivac nazovimo ga "p" pokazuje na zadnji (najgornji) element.
kada dodajes onda
el.prethodni=p;
p=⪙
a kada skidas
temp=*p;
p=p→prethodni;
return temp;
naravno, u ovim slucajevima nisam pisao sto se dogodi ako dodjes do "kraja" ili "dna" stoga, ali to bi trebao sam.
_________________ 
|