Revision: 60634
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at November 12, 2012 03:55 by Tomislav_Hop
Initial Code
struct tdatum {
short dan, mjesec, godina;
};
struct tEl{
int sifra;
char vrsta[50],naziv[50];
tdatum dat;
float cijena;
};
struct tLista{
tEl ziv;
tLista *slj;
};
tLista *lista= new tLista;
int sifra=1,br_elem=0,v=0;
void InitL(tLista *lista) {
lista->slj=NULL;
}
void InsertL(tEl x,int p,tLista *lista) {
tLista *zadnji=lista;
for(int i=0;i<p;i++) zadnji=zadnji->slj;
tLista *novi = new tLista;
zadnji->slj=novi;
novi->ziv=x;
novi->slj=NULL;
}
tEl RetrieveL(int p,tLista* lista) {
tLista *tekuci = lista->slj;
for(int i=0;i<p;i++) tekuci=tekuci->slj;
return tekuci->ziv;
}
int EndL(tLista *lista) {
tLista* tekuci=lista;
int p=0;
while(tekuci->slj) {
tekuci=tekuci->slj;
p++;
}
return p;
}
void DeleteL(int p, tLista *lista) {
tLista *brisi = lista->slj,*prethodni=lista;
for(int i=0;i<p;i++) {
prethodni=brisi;
brisi=brisi->slj;
}
prethodni->slj=brisi->slj;
delete brisi;
}
int LocateL(char x[],tLista* lista) {
tLista *tekuci=lista;
int p=0;
while(tekuci) {
if(tekuci->slj==NULL) return EndL(lista);
if(!strcmp((tekuci->slj)->ziv.naziv,x)||(v==1&&!strcmp((tekuci->slj)->ziv.vrsta,x))) return p;
tekuci=tekuci->slj;
p++;
}
return EndL(lista);
}
int FirstL(tLista* lista) {
if(lista->slj==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->slj;
while(tekuci) {
delete prethodni;
prethodni=tekuci;
tekuci=tekuci->slj;
}
delete prethodni;
lista=NULL;
}
Initial URL
Initial Description
Implementacija liste pomocu pokazivaca
Initial Title
lista_pokazivaci.h
Initial Tags
Initial Language
C++