Revision: 60713
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at November 12, 2012 08:03 by ihontic
Initial Code
struct tdatum {
short dan, mj, god;
};
struct tEl{
int sifra;
char vrsta[50],naziv[50];
tdatum dat;
float cijena;
};
struct tLista{
tEl ziv;
tLista *s;
};
tLista *lista= new tLista;
int sifra=1,br_elem=0,h=0;
void InitL(tLista *lista) {
lista->s=NULL;
}
void InsertL(tEl x,int p,tLista *lista) {
tLista *zadnji=lista;
for(int i=0;i<p;i++) zadnji=zadnji->s;
tLista *novi = new tLista;
zadnji->s=novi;
novi->ziv=x;
novi->s=NULL;
}
tEl RetrieveL(int p,tLista* lista) {
tLista *tekuci = lista->s;
for(int i=0;i<p;i++) tekuci=tekuci->s;
return tekuci->ziv;
}
int EndL(tLista *lista) {
tLista* tekuci=lista;
int p=0;
while(tekuci->s) {
tekuci=tekuci->s;
p++;
}
return p;
}
void DeleteL(int p, tLista *lista) {
tLista *brisi = lista->s,*prethodni=lista;
for(int i=0;i<p;i++) {
prethodni=brisi;
brisi=brisi->s;
}
prethodni->s=brisi->s;
delete brisi;
}
int LocateL(char x[],tLista* lista) {
tLista *tekuci=lista;
int p=0;
while(tekuci) {
if(tekuci->s==NULL) return EndL(lista);
if(!strcmp((tekuci->s)->ziv.naziv,x)||(h==1&&!strcmp((tekuci->s)->ziv.vrsta,x))) return p;
tekuci=tekuci->s;
p++;
}
return EndL(lista);
}
int FirstL(tLista* lista) {
if(lista->s==NULL) return EndL(lista);
return 0;
}
int PreviousL(int p,tLista* lista) {
if(p==FirstL(lista)) return -1;
return p-1;
}
int NextL(int p,tLista* lista) {
if(p==EndL(lista)) return -1;
if(p==PreviousL(EndL(lista),lista)) return EndL(lista);
return p+1;
}
void DeleteAllL(tLista* lista) {
tLista* prethodni=lista,*tekuci=lista->s;
while(tekuci) {
delete prethodni;
prethodni=tekuci;
tekuci=tekuci->s;
}
delete prethodni;
lista=NULL;
}
Initial URL
Initial Description
Zaglavlje za pokazivace
Initial Title
lista_pokazivac.h
Initial Tags
podataka
Initial Language
C++