Revision: 60740
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at November 12, 2012 08:27 by majcen555
Initial Code
struct tdatum {
int dan;
int godina;
int mjesec;
};
struct objekt {
int sifra;
char vrsta[30];
char naziv[30];
tdatum datum;
float cijena;
};
struct lis {
objekt zivotinja;
lis *sljedeci;
};
lis *LA=new lis;
int sifra=1,br_objekt=0,v=0;
void InitL(lis *LA) {
LA->sljedeci=NULL;
}
void InsertL(objekt x,int p,lis *LA) {
lis *zadnji=LA;
for(int i=0;i<p;i++) zadnji=zadnji->sljedeci;
lis *novi = new lis;
zadnji->sljedeci=novi;
novi->zivotinja=x;
novi->sljedeci=NULL;
}
objekt RetrieveL(int p,lis* LA) {
int i;
lis *tekuci = LA->sljedeci;
for(i=0;i<p;i++) tekuci=tekuci->sljedeci;
return tekuci->zivotinja;
}
int EndL(lis *LA) {
lis* tekuci=LA;
int p=0;
while(tekuci->sljedeci) {
tekuci=tekuci->sljedeci;
p++;
}
return p;
}
void DeleteL(int p, lis *LA) {
lis *brisi = LA->sljedeci,*prethodni=LA;
for(int i=0;i<p;i++) {
prethodni=brisi;
brisi=brisi->sljedeci;
}
prethodni->sljedeci=brisi->sljedeci;
delete brisi;
}
int LocateL(char x[],lis* LA) {
lis *tekuci=LA;
int p=0;
while(tekuci) {
if(tekuci->sljedeci==NULL) return EndL(LA);
if(!strcmp((tekuci->sljedeci)->zivotinja.naziv,x)||
(v==1&&!strcmp((tekuci->sljedeci)->zivotinja.vrsta,x))) return p;
tekuci=tekuci->sljedeci;
p++;
}
return EndL(LA);
}
int FirstL(lis* LA) {
if(LA->sljedeci==NULL) return EndL(LA);
return 0;
}
int PreviousL(int p,lis* LA) {
if(p==FirstL(LA)) return -1;
return p-1;
}
int NextL(int p,lis* LA) {
if(p==EndL(LA)) return -1;
if(p==PreviousL(EndL(LA),LA)) return EndL(LA);
return p+1;
}
void DeleteAll(lis* LA) {
lis* prethodni=LA,*tekuci=LA->sljedeci;
while(tekuci) {
delete prethodni;
prethodni=tekuci;
tekuci=tekuci->sljedeci;
}
delete prethodni;
LA=NULL;
}
Initial URL
http://e.foi.hr/wiki/strukture_podataka/index.php/Zadatak_1_Majcen_Marko
Initial Description
Lista pokazivac
Initial Title
SP_Zadatak1_lista_pokazivac_mm
Initial Tags
Initial Language
C++