Revision: 60797
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at November 12, 2012 09:54 by Jurij
Initial Code
struct dat {
int d,m,g;
};
struct zapis {
int sifra;
float cijena;
char vrsta[20],naziv[20];
dat datum;
};
struct lista {
zapis podaci;
lista *nx;
};
lista *L = new lista;
int sifra=100,n=0;
void InitL(lista *L) {
L->nx=NULL;
}
int EndL(lista *L) {
lista* temp=L;
int p=0;
while(temp->nx) {
temp=temp->nx;
p++;
}
return p;
}
int FirstL(lista* L) {
if(L->nx==NULL) return EndL(L);
return 0;
}
int PreviousL(int p,lista* L) {
if(p==FirstL(L)) return -1;
return p-1;
}
int NextL(int p,lista* L) {
if(p==EndL(L)) return -1;
if(p==PreviousL(EndL(L),L)) return EndL(L);
return p+1;
}
void InsertL(zapis x,int p,lista *L) {
lista *k=L;
for(int i=0;i<p;i++)k=k->nx;
lista *novi = new lista;
novi->nx=(k->nx)->nx;
k->nx=novi;
novi->podaci=x;
}
zapis RetrieveL(int p,lista* L) {
lista *temp = L->nx;
for(int i=0;i<p;i++)temp=temp->nx;
return temp->podaci;
}
int LocateL(char x[],lista* L) {
lista *temp=L;
int p=0;
while(temp) {
if(temp->next==NULL) return EndL(L);
if(!strcmp((temp->nx)->podaci.naziv,x)||(!strcmp((temp->nx)->podaci.vrsta,x)))return p;
temp=temp->nx;
p++;
}
return EndL(L);
}
void DeleteL(int p, lista *L) {
lista *temp = L->nx,*prev=L;
for(int i=0;i<p;i++) {
prev=temp;
temp=temp->nx;
}
prev->nx=temp->nx;
delete temp;
}
void DeleteAll(lista* L) {
lista* prev=L,*temp=L->nx;
while(temp) {
delete prev;
prev=temp;
temp=temp->nx;
}
delete prev;
L=NULL;
}
Initial URL
Initial Description
Zaglavlje s implementacijom funkcija pomoću pokazivaÄa
Initial Title
Evidencija Zivotinja Pokazivaci Zaglavlje
Initial Tags
list
Initial Language
C++