/ Published in: C++
URL: asd
Zaglavlje pomoću polja
Expand |
Embed | Plain Text
typedef int elem; struct zivotinje{ int sifra; char naziv[30]; char vrsta[30]; float cijena; struct{ int dan, mj, god; }datum; }; struct Lis { zivotinje values[10000]; int cursor; }; typedef struct Lis list; list* InitL(list* L){ if(L == NULL){ L=new list; L->cursor = 0; } else{ L->cursor = 0; } return L; } elem FirstL(list* L){ return 0; } elem EndL(list* L){ return L->cursor; } elem NextL(elem p, list* L){ if(p == L->cursor) return L->cursor; return p+1; } elem PreviousL(elem p, list* L){ if(p==0) return 0; return p-1; } elem LocateL(zivotinje el, list* L){ for(elem trenutni = FirstL(L); trenutni != EndL(L); trenutni = NextL(trenutni,L)){ if(el.sifra == L->values[trenutni].sifra) return trenutni; } return EndL(L); } void InsertL(zivotinje el, elem p, list* L){ for(elem trenutni = L->cursor; trenutni > p; trenutni--){ L->values[trenutni] = L->values[trenutni-1]; } L->values[p] = el; L->cursor++; } void DeleteL(elem p, list* L){ for(elem trenutni = p; trenutni < L->cursor-1; trenutni++){ L->values[trenutni] = L->values[trenutni+1]; } L->cursor--; } zivotinje RetrieveL(elem p, list* L){ return L->values[p]; } void DeleteAllL(list* L){ L->cursor=0; }
You need to login to post a comment.
