Revision: 60654
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at November 12, 2012 05:00 by nikym23
Initial Code
#include <iostream>
struct zivotinje{
int sifra;
char vrsta[30];
char naziv[30];
int d,m,g,dat;
float cijena;
};
struct lista{
zivotinje a;
lista *sljedeci;
};
typedef lista *element;
lista* InitL(lista *lis){
lis = new lista;
lista *zadnji = new lista;
lis->sljedeci = zadnji;
zadnji->sljedeci = NULL;
return lis;
}
element EndL(lista *lis){
lista *tekuci= lis;
while(tekuci->sljedeci)
tekuci=tekuci->sljedeci;
return tekuci;
}
element FirstL(lista *lis){
if(lis == NULL)
return EndL(lis);
else
return lis->sljedeci;
}
element NextL(element p, lista *lis){
if(p->sljedeci==NULL) return EndL(lis);
return p->sljedeci;
}
element PreviousL(element p, lista *lis){
lista *tekuci = lis->sljedeci;
while(p != tekuci->sljedeci && tekuci->sljedeci!=NULL)
tekuci=tekuci->sljedeci;
return tekuci;
}
element DeleteAllL(lista *lis){
lis->sljedeci = EndL(lis);
}
int InsertL(zivotinje ziv, lista *p, lista *lis){
lista *tekuci=p;
lista *novi=new lista;
if(p==EndL(lis)){
novi->sljedeci=NULL;
tekuci->sljedeci=novi;
tekuci->a=ziv;
}
else if(p==FirstL(lis)){
novi->sljedeci=tekuci;
lis->sljedeci=novi;
novi->a=ziv;
}
else{
lista *prethodni=PreviousL(p,lis);
novi->sljedeci=tekuci;
prethodni->sljedeci=novi;
novi->a=ziv;
}
if(tekuci->a.sifra==ziv.sifra)
return 1;
else
return 0;
}
int DeleteL(element p, lista *lis){
element prethodni, tekuci;
tekuci = p;
if(p==FirstL(lis)){
lis->sljedeci = tekuci->sljedeci;
delete tekuci;
return 1;
}
else{
prethodni = PreviousL(tekuci,lis);
prethodni->sljedeci = tekuci->sljedeci;
delete tekuci;
return 1;
}
return 0;
}
element LocateL(zivotinje ziv, lista *lis){
element tekuci;
tekuci = lis->sljedeci;
while(tekuci){
if(ziv.sifra!=0){
if(ziv.sifra == tekuci->a.sifra)
return tekuci;
}
tekuci = tekuci->sljedeci;
}
}
zivotinje RetrieveL(element p, lista *lis){
return p->a;
}
Initial URL
Initial Description
Implementacija liste pomocu pokazivaca
Initial Title
Lista_pokazivaca.h Strukture podataka
Initial Tags
Initial Language
C++