/ Published in: C++
Lista implementirana pomoću pokazivaÄa
Expand |
Embed | Plain Text
Copy this code and paste it in your HTML
#include <string> using namespace std; struct ziv{ int sifra; int cijena; char naziv[50]; char vrsta[20]; string datum; }; struct lis{ ziv zivotinje[200]; lis *sljedeci }; lis *lista=new lis; typdef lis *tip; lis *FirstL(lis *lista) { return lista->sljedeci; } lis *EndL(lis *lista) { lis *posljednji=lista; while(posljednji->posljednji!=NULL) posljednji=posljednji->sljedeci; return posljednji->sljedeci; } lis *NextL(lis *a, lis *lista) { return a->sljedeci; } lis *PreviousL(lis *a, lis *lista) { lis *trenutacni=lista; while(trenutacni->sljedeci!=a){ trenutacni=trenutacni->sljedeci; } return trenutacni; } lis *LocateL(ziv x, lis *lista){ lis *trenutacni=lista->sljedeci; while (trenutacni){ if (x.sif==tekuci->values.sif || a.mat==tekuci->values.mat) return tekuci; tekuci=tekuci->next; } return EndL(lista); } void InsertL(ziv x, lis *a, lis *lista) { lis *pomocni=new lis; a=PreviousL(a, lista); pomocni->zivotinje=x; pomocni->sljedeci=a->sljedeci; a->sljedeci=pomocni; } void DeleteL(lis *a, lis *lista) { a=PreviousL(a, lista); lis *trenutacni=a->trenutacni; a->sljedeci=trenutacni->sljedeci; delete trenutacni; } ziv RetreiveL(lis *a, lis *lista) { return a->zivotinje; } void *DeleteAllL(lis *lista) { while(lista->sljedeci) { lis *trenutacni=lista->sljedeci; lista->sljedeci=trenutacni->sljedeci; delete trenutacni; } delete lista; } void *InitL (lis *lista) { lista->sljedeci=NULL; }