Revision: 60666
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at November 12, 2012 05:40 by tsteyska
Initial Code
struct podaci{
int sifra,datum;
float cijena;
char naziv[20],vrsta[20];
};
struct lista{
podaci pod;
lista *slijedeci;
};
void InitL(lista *L){
L -> slijedeci = NULL;
};
int EndL(lista *L){
lista *a = L;
int i = 1;
while(a -> slijedeci){
a = a -> slijedeci;
i++;
};
return i;
};
int FirstL(lista *L){
if(L->slijedeci==NULL)
return NULL;
else
return 0;
};
int NextL(int p, lista *L){
lista *a = L;
int i = 0;
while(i < p && a -> slijedeci){
a = a -> slijedeci;
++i;
}
++i;
return i;
}
int PreviousL(int p, lista *L){
lista *a = L;
int i = 0;
while( a -> slijedeci && i<p){
a = a -> slijedeci;
++i;
}
return i-1;
}
int LocateL(podaci x, lista *L){
bool nadeno = false;
int i = 0;
lista *a = L -> slijedeci;
while(!nadeno && a->slijedeci){
++i;
if( x.sifra == a -> pod.sifra){
nadeno = true;
break;
}
else
a = a -> slijedeci;
}
if (nadeno)
return i;
else
return 0;
}
int InsertL(podaci x, int p, lista *L){
int i=0;
lista *insert,*trenutni, *zadnji;
trenutni = L;
zadnji = L->slijedeci;
while (i<p && trenutni->slijedeci){
trenutni = trenutni->slijedeci;
zadnji = zadnji->slijedeci;
}
insert = new lista;
if(!insert)
return 0;
insert -> pod = x;
trenutni -> slijedeci = insert;
insert -> slijedeci = zadnji;
return 1;
}
int DeleteL(char p[], lista *L){
if(!L)
return 0;
lista *a2 = L -> slijedeci;
lista *a1 = L;
while (a2){
if(!strcmp(p,a2->pod.naziv)){
a1 -> slijedeci = a2 -> slijedeci;
delete a2;
return 1;
}
if(!strcmp(p,a2->pod.vrsta)){
a1 -> slijedeci = a2 -> slijedeci;
delete a2;
return 1;
}
a1=a2;
a2=a2->slijedeci;
}
return 0;
}
podaci RetrieveL(int p, lista *L){
int i = 0;
lista *a = L -> slijedeci;
while(i < p && a){
++i;
a = a -> slijedeci;
};
return a -> pod;
}
void DeleteAllL(lista *L){
lista *a1 = L;
lista *a2 = L -> slijedeci;
while(a2){
delete a1;
a1 = a2;
a2 = a2 -> slijedeci;
};
delete a1;
L = NULL;
}
Initial URL
Initial Description
Implementacija liste pomocu pokazivaca
Initial Title
Z1_lista_pokazivaci.h
Initial Tags
podataka
Initial Language
C++