Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Pomoc oko listi (u pitanju je red)

[es] :: C/C++ programiranje :: C/C++ za početnike :: Pomoc oko listi (u pitanju je red)

[ Pregleda: 1831 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Sifrara
Darko Vasic
Lju

Član broj: 128524
Poruke: 7
91.148.92.*



Profil

icon Pomoc oko listi (u pitanju je red)24.01.2010. u 02:41 - pre 173 meseci
Da li neko moza da mi ukratko pojasni sta je to red i kako se ubacuju elemnti na kraj a izbacuju sa pocetka,ako nije problem moze neki najprostiji primer sa kodom...
 
Odgovor na temu

GORSHTAK
Ivan Matić

Član broj: 136182
Poruke: 285
77.46.208.*



+5 Profil

icon Re: Pomoc oko listi (u pitanju je red)24.01.2010. u 17:03 - pre 173 meseci
Jel misliš na jednostruko povezane liste?
Evo nečeg u tom slučaju

Code:

typedef struct lista{
int broj;
struct lista* sledeci;
} Lista;

Lista *pocetak, *kraj, *novi, *za_brisanje;

//   ..........

//  dodavanje na kraj
kraj->sledeci = novi;
kraj = novi;

//  brisanje prvog
za_brisanje = pocetak;
pocetak = pocetak->sledeci;
free(za_brisanje);


Pročitaj ovo dole, ukratko, red je princip da prvi element koji se pojavi u memoriji bude prvi obrađen (FIFO), suprotno je stek
http://en.wikipedia.org/wiki/Stack_(data_structure)
http://en.wikipedia.org/wiki/Queue_(data_structure)

prekopiraj celu liniju, nije mi pošlo za rukom da cela linija uđe u url
 
Odgovor na temu

Sifrara
Darko Vasic
Lju

Član broj: 128524
Poruke: 7
109.106.239.*



Profil

icon Re: Pomoc oko listi (u pitanju je red)24.01.2010. u 17:54 - pre 173 meseci
Evo npr..Mozes li da mi opises ukratko svaki kod..

typedef struct red {
int inf;
sruct red* next;
} CVOR;

void push (CVOR **vrh,int vrednost) {
CVOR *novi;
novi=(CVOR*)malloc(sizeof(CVOR)); // do ovoga sve kapiram
novi->inf=vrednost;
novi->next=*vrh;
*vrh=novi;
}
int pop (CVOR **vrh) {
CVOR novi1;
int pod;
if (*vrh==NULL) {
return -1;}
novi1=*vrh;
*vrh=novi1->next;
free(novi1);
return pod;
}
 
Odgovor na temu

Sifrara
Darko Vasic
Lju

Član broj: 128524
Poruke: 7
109.106.239.*



Profil

icon Re: Pomoc oko listi (u pitanju je red)24.01.2010. u 17:55 - pre 173 meseci
Jos sam zaboravio da stavim kop pop funkcije da je pod=(*vrh)->inf;
 
Odgovor na temu

GORSHTAK
Ivan Matić

Član broj: 136182
Poruke: 285
*.static.sbb.rs.



+5 Profil

icon Re: Pomoc oko listi (u pitanju je red)25.01.2010. u 12:15 - pre 173 meseci
Ovo je stek

Code:

typedef struct red {
int inf;
sruct red* next;
} CVOR;

void push (CVOR **vrh,int vrednost) {
CVOR *novi;
novi=(CVOR*)malloc(sizeof(CVOR)); // ******
novi->inf=vrednost;   //  ovo ti je valjda jasno, upisujes vrednost u nov cvor
novi->next=*vrh;   //  sa ovim vrh nadovezujes na nov cvor
*vrh=novi;    //   posto je vrh stavljen na kraj novog, sa ovim novi postaje vrh
}
int pop (CVOR **vrh) {
CVOR novi1;
int pod;
if (*vrh==NULL) {    //  ovo je klasicno pitanje, ako cvor ne postoji, tj. nema nikakvih vrednosti
return -1;}             //  onda zavrsava 
novi1=*vrh;            //  novi cvor pokazuje na vrh, tj. novi1 i vrh su jedno te isto 
pod=(*vrh)->inf;     //  naravno bez ovog nema smisla raditi dalje :)
*vrh=novi1->next;   //  vrh moras da sacuvas i zato ga pomeras na kraj novog
free(novi1);            //  ovim brises samo novi, da nisi uradio onu gore komandu, izgubio bi celu listu
return pod;
}


za red ti treba drugacija push f-ja:

Code:

void push (CVOR **vrh,int vrednost) {
CVOR *novi, *trazi_kraj;
novi=(CVOR*)malloc(sizeof(CVOR)); // ******
novi->inf=vrednost;   

//  odavde pocinju razlike
trazi_kraj = *vrh;
while (trazi_kraj->next != NULL)   //  moras da krenes od pocetka da bi pronasao poslednji cvor
     trazi_kraj=trazi_kraj->next;    //  i svaki put setas pokazivac, zato bi bilo zgodno da imas pokazivac koji ce ti uvek govoriti gde je kraj

trazi_kraj->next=novi;      //  nov cvor stavljas na kraj liste

}


Nisam proveravao da li mi je tacan kod, sad nemam vremena za to

 
Odgovor na temu

[es] :: C/C++ programiranje :: C/C++ za početnike :: Pomoc oko listi (u pitanju je red)

[ Pregleda: 1831 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.