Forum » Programiranje » [C] Obrni sklad
[C] Obrni sklad
aceton ::
kako bi obrnila seznam, natančneje sklad (deluje po principu FIFO)
koda:
koda:
struct element{ int vrednost; struct element *next; }; struct element *prvi; //vstavljanje v sklad void Push(int e){ struct element *novi, *tmp; novi=(struct element*)malloc(sizeof(struct element)); if(prvi==NULL){ novi->vrednost=e; novi->next=NULL; prvi=novi;} else{ tmp=prvi; novi->vrednost=e; novi->next=tmp; prvi=novi;} } //vrne element, ki je na vrhu skada void Pop(struct element *p){ struct element *tmp; tmp=p; printf("Vrhnji element skada je: %d", tmp->vrednost); printf("\n"); } //Izbrisi prvi element void Brisi(struct element *p){ struct element *tmp; tmp=prvi; prvi=prvi->next; free(tmp); }
technolog ::
Inicializiraš sklad številka 2, potem pa izvajaš:
1. pop prvega sklada, dobiš vrhnji element X
2. push X na sklad številka dva
To ponavljaš, dokler ne izprazniš prvega sklada (t.j. preložiš vseh elementov).
1. pop prvega sklada, dobiš vrhnji element X
2. push X na sklad številka dva
To ponavljaš, dokler ne izprazniš prvega sklada (t.j. preložiš vseh elementov).
aceton ::
in posledično je potrebno uporabiti tudi funkcijo brisi (prvega elementa v prvem skladu)
bom probala in upam da mi rata to idejo spravt v kodo
bom probala in upam da mi rata to idejo spravt v kodo
aceton ::
Ja LIFO..delam še program za vrste pa sm mal zamešala..načeloma je pa princip takšen kot je napisan gor ane
aceton ::
sklad deluje po principu first in first out..torej FIFO :)
še vedno pa se ubadam s programom, ki obrne sklad..
torej pomoč več kot dobrodošla
še vedno pa se ubadam s programom, ki obrne sklad..
torej pomoč več kot dobrodošla
mallard ::
sklad deluje po principu first in first out..torej FIFO :)
To se pravi, da ti drva iz skladovnice spodej ven vlečeš?
Še enkrat, sklad deluje po principu "first in, last out - FILO" (ali "last in, first out - LIFO", če hočeš).
Vrsta deluje po principu FIFO.
Zdej se pa prosim odloči, kaj boš obračala, vrsto ali sklad?
(ne, nisem šel brat tvoje kode)
kuall ::
tukaj imaš grafično predstavitev za lažje predstavljanje:
http://www.cmpe.boun.edu.tr/~akin/cmpe2...
LIFO: zbrišeš lahko samo nazadnje dodan element
FIFO: zbrišeš lahko samo prvi dodan element.
osnovna značilnost sklada je, da ko ga hočeš skopirat v drug sklad se vrstni njegovih elementov obrne. torej samo spomni se, kako bi najenostavneje skopirala en sklad v drugega in imaš rešitev.
napiši funkcijo element *skladB = kopirajSklad (element *skladA)
tvoja funkcija Push(int e) bi morala imeti dva argumenta, da bo neodvisna:
void Push(int e, element *sklad)
http://www.cmpe.boun.edu.tr/~akin/cmpe2...
LIFO: zbrišeš lahko samo nazadnje dodan element
FIFO: zbrišeš lahko samo prvi dodan element.
osnovna značilnost sklada je, da ko ga hočeš skopirat v drug sklad se vrstni njegovih elementov obrne. torej samo spomni se, kako bi najenostavneje skopirala en sklad v drugega in imaš rešitev.
napiši funkcijo element *skladB = kopirajSklad (element *skladA)
tvoja funkcija Push(int e) bi morala imeti dva argumenta, da bo neodvisna:
void Push(int e, element *sklad)
Zgodovina sprememb…
- spremenilo: kuall ()
Invictus ::
sklad deluje po principu first in first out..torej FIFO :)
še vedno pa se ubadam s programom, ki obrne sklad..
torej pomoč več kot dobrodošla
Najprej se nauči uporabljati google ...
Pravilni odgovor na tvoj problem je bil pa že prvi.
Ampak bolje neumno vprašati kot neumne ostati ...
"Life is hard; it's even harder when you're stupid."
http://goo.gl/2YuS2x
http://goo.gl/2YuS2x
Zgodovina sprememb…
- spremenil: Invictus ()
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Pravilo zadrge v križiščih, ko je gneča (strani: 1 2 3 )Oddelek: Na cesti | 19647 (16226) | Mavrik |
» | Java-razlagaOddelek: Šola | 934 (769) | lebdim |
» | C++ programiOddelek: Programiranje | 2525 (2121) | ERGY |
» | [C] Povezani seznami in kazalciOddelek: Programiranje | 2569 (2136) | Good Guy |
» | [C] Narascajoce sortiranje linearnega seznamaOddelek: Programiranje | 1863 (1752) | Jebiveter |