Zásobník v C

Místo pro dotazy a rady ohledně programovacích jazyků (C++, C#, PHP, ASP, Javascript, VBS..) a tvorby webových stránek

Moderátor: Mods_senior

LukasMegPrask
nováček
Příspěvky: 19
Registrován: listopad 12
Pohlaví: Nespecifikováno
Stav:
Offline

Zásobník v C

Příspěvekod LukasMegPrask » 17 led 2013 16:21

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?

Reklama
Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Zásobník v C

Příspěvekod CZechBoY » 17 led 2013 18:23

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
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW

Uživatelský avatar
faraon
Master Level 8.5
Master Level 8.5
Příspěvky: 7397
Registrován: prosinec 10
Pohlaví: Muž
Stav:
Offline

Re: Zásobník v C

Příspěvekod faraon » 17 led 2013 18:34

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.
"Král Lávra má dlouhé oslí uši, král je ušatec!

(pravil K. H. Borovský o cenzuře internetu)

LukasMegPrask
nováček
Příspěvky: 19
Registrován: listopad 12
Pohlaví: Nespecifikováno
Stav:
Offline

Re: Zásobník v C

Příspěvekod LukasMegPrask » 18 led 2013 10:42

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 :-(

Uživatelský avatar
cosmosD
Level 3
Level 3
Příspěvky: 437
Registrován: únor 11
Bydliště: Praha
Pohlaví: Muž
Stav:
Offline

Re: Zásobník v C

Příspěvekod cosmosD » 18 led 2013 12:58

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...

Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Zásobník v C

Příspěvekod CZechBoY » 18 led 2013 13:47

však ti to faraon napsal, neumíš číst?
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW

Uživatelský avatar
cosmosD
Level 3
Level 3
Příspěvky: 437
Registrován: únor 11
Bydliště: Praha
Pohlaví: Muž
Stav:
Offline

Re: Zásobník v C

Příspěvekod cosmosD » 18 led 2013 16:59

Predpokladam, ze uzivatel chce primo zdrojak ;)

Uživatelský avatar
faraon
Master Level 8.5
Master Level 8.5
Příspěvky: 7397
Registrován: prosinec 10
Pohlaví: Muž
Stav:
Offline

Re: Zásobník v C

Příspěvekod faraon » 18 led 2013 17:37

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á...
"Král Lávra má dlouhé oslí uši, král je ušatec!

(pravil K. H. Borovský o cenzuře internetu)


Zpět na “Programování a tvorba webu”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 3 hosti