/ Published in: C++
Implementacija liste pomocu polja
Expand |
Embed | Plain Text
Copy this code and paste it in your HTML
struct podaci{ int sifra,datum,cijena; char naziv[20],vrsta[20]; }; struct lista{ podaci pod[1000]; int k; }; typedef int tlistap; int EndL(lista *L) { return L->k; } int FirstL(lista *L) { if (L->k==0) return EndL(L); else return 0; } int NextL(int p, lista *L) { if(p == (L->k)-1) return EndL(L); else return p+1; } int PreviousL(int p, lista *L) { if (p>0) return p-1; else return 0; } int LocateL(podaci x, lista *L) { for (int i=0; i < L->k; i++) if(x.sifra == (L->pod[i].sifra)) return i; return EndL(L); } int InsertL(podaci x, int p, lista *L) { if (p<0 || p > L->k) return 0; int pokazivac=L->k; for(int i=pokazivac-1; i>=p; i--) { L->pod[i+1] = L->pod[i]; } L->pod[p]=x; L->k++; return 1; } int DeleteL(int p, lista *L) { if (p<0 || p>=L->k) return 0; for(int i=p; i< L->k; i++) L->pod[i] = L->pod[i+1]; L->k--; return 1; } podaci RetrieveL(int p, lista *L) { return L->pod[p]; } void DeleteAllL(lista *L) { L->k=0; } lista *InitL(lista *L) { L = new lista; for (int i=0; i<1000; i++) { L->pod[i].sifra=0; L->pod[i].datum=0; } L->k=0; return L; }