/ Published in: C++
Lista pokazivaca koji se koriste u glavnom programu
Expand |
Embed | Plain Text
Copy this code and paste it in your HTML
struct lista { int sifra, cijena, dan, mjesec, godina; char vrsta[50], naziv[50]; lista *sljedeci; }; struct podaci { int sifra, cijena, dan, mjesec, godina; char vrsta[50], naziv[50]; }zivotinja; typedef struct lista* element; lista* InitL(lista *l) { l = new lista; l -> sljedeci = NULL; return l; } bool InsertL(podaci p, element e, lista *l) { lista *z = l, *novi = new lista; while(z -> sljedeci != e) z = z -> sljedeci; novi -> sifra = p.sifra; strcpy(novi -> vrsta, p.vrsta); strcpy(novi -> naziv, p.naziv); novi -> cijena = p.cijena; novi -> dan = p.dan; novi -> mjesec = p.mjesec; novi -> godina = p.godina; novi -> sljedeci = e; z -> sljedeci = novi; return 1; } element EndL(lista *l) { lista *z = l; while(z) z = z -> sljedeci; return z; } element FirstL(lista *l) { if(l -> sljedeci == NULL) return EndL(l); return l -> sljedeci; } podaci RetrieveL(element e, lista *l) { zivotinja.sifra = e -> sifra; strcpy(zivotinja.vrsta, e -> vrsta); strcpy(zivotinja.naziv, e -> naziv); zivotinja.cijena = e -> cijena; zivotinja.dan = e -> dan; zivotinja.mjesec = e -> mjesec; zivotinja.godina = e -> godina; return zivotinja; } element PreviousL(element e, lista *l) { lista *z = l -> sljedeci; if(e == l -> sljedeci) exit(0); while(e != z -> sljedeci && z -> sljedeci != NULL) z = z -> sljedeci; return z; } element NextL(element e, lista *l) { return e -> sljedeci; } bool DeleteL(element e, lista *l) { lista *z = l; while(z -> sljedeci != e) z = z -> sljedeci; z -> sljedeci = e -> sljedeci; delete e; return 1; } element LocateL(podaci p, lista *l) { lista *z = l -> sljedeci; while(z != NULL && z -> sifra != p.sifra) z = z -> sljedeci; return z; } void DeleteAllL(lista *l) { element z; while(l -> sljedeci != NULL) { z = l -> sljedeci; l -> sljedeci = l -> sljedeci -> sljedeci; delete z; } }
URL: http://snipplr.com/edit/68227