Stránka 1 z 1

Zásobník v C

Napsal: 17 led 2013 16:21
od LukasMegPrask
Ahoj mám problém s úkolem v jazyce C:
Mám napsat funkci, která vloží hodnotu na vrchol zásobníku, přičemž mám zadánu deklaraci zásobníku:

typedef struct zasobnik
{
int hodnota;
struct zasobnik *naslednik;
}typZasobnik;

typZasobnik *z;


Mohl by mi prosím někdo poradit, jak to napsat, popřípadě také vysvětlit, proč je ten zásobník deklarován právě takto?

Re: Zásobník v C

Napsal: 17 led 2013 18:23
od CZechBoY
jednoduše: vemeš poslední prvek a nastavíš mu ukazatel "naslednik" na novou strukturu :-)

tomuhle se údajně říká jednosměrný seznam, byla to poslední látka co jsme brali ve škole na programování :D
akorát my jsme tam měli eště "head" který ukazoval na začátek toho seznamu

Re: Zásobník v C

Napsal: 17 led 2013 18:34
od faraon
Nojo, jednosměrný spojový seznam. Druhá základní datová struktura po poli :geek:

Neměl by vrchol zásobníku být na jeho počátku? Pak by byl postup takový:

1. Alokuješ nový prvek, ukazatel na něj máš v nějaké dočasné proměnné, třeba w,
2. do w.naslednik přesuneš ukazatel na starý počátek pole ze z,
3. do z přesuneš ukazatel na nový počátek z w,
4. a do z.hodnota vložíš načtenou hodnotu.

Re: Zásobník v C

Napsal: 18 led 2013 10:42
od LukasMegPrask
A nemohli by jste mi prosím napsat jak bude přesně vypadat zápis v C? Nějak na to pořád nemůžu dojít :-(

Re: Zásobník v C

Napsal: 18 led 2013 12:58
od cosmosD
Ano je to zakladni datova struktura, takze jestli chces v programovani pokracovat, tak se s tim trap a zkus to vyresit, protoze pak te ceka obousmerny spojak, kruhovy spojak....
A jestli ne, tak ti google urcite najde spoustu implementaci spojaku...

Re: Zásobník v C

Napsal: 18 led 2013 13:47
od CZechBoY
však ti to faraon napsal, neumíš číst?

Re: Zásobník v C

Napsal: 18 led 2013 16:59
od cosmosD
Predpokladam, ze uzivatel chce primo zdrojak ;)

Re: Zásobník v C

Napsal: 18 led 2013 17:37
od faraon
Ale no tak, přece nechceš abysme za tebe ten domácí úkol udělali celý ;-)

Strýček Google a tetička Wiki ti poradí: http://cs.wikipedia.org/wiki/Line%C3%A1rn%C3%AD_seznam

Pak ukaž jak daleko ses dostal, a někdo už ti určitě poradí co udělat lépe, aby to fungovalo jak má...