Revision: 60766
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at November 12, 2012 08:55 by daja2
Initial Code
//IMPLEMENTACIJA LISTE POMOCU POKAZIVACA
struct podaci{
int sifra;
char naziv[30];
char vrsta[30];
float cijena;
struct{
int dan, mj, god;
}dat;
};
struct lis {
podaci value;
lis *next;
};
typedef lis *element;
typedef lis list;
void DeleteAllL(list* L){
while(L->next){
element toDelete = L->next;
if(L->next){
L->next = toDelete->next;
delete toDelete;
}
}
delete L;
L = NULL;
}
list* InitL(list* L){
if(L!=NULL)
DeleteAllL(L);
else{
list *newList = new list;
newList->next = NULL;
return newList;
}
return NULL;
}
element FirstL(list* L){
return L;
}
element EndL(list* L){
element tren = L;
while(tren->next){
tren = tren->next;
}
return tren;
}
element NextL(element p, list *L){
if(p!=NULL){
if(p==EndL(L)){
return NULL;
}
return p->next;
}
return EndL(L);
}
element PreviousL(element p, list *L){
element tren = L;
while(tren){
if(tren->next == p )
return tren;
tren = tren->next;
}
return NULL;
}
element LocateL(podaci el, list* L){
element tren = L;
while(tren->next){
if(tren->next->value.sifra == el.sifra)
return tren;
tren = tren->next;
}
return NULL;
}
void InsertL(podaci el, element p, list* L){
if(p==NULL)
return;
else{
element novi = new lis;
novi->value = el;
novi->next = p->next;
p->next = novi;
}
}
void DeleteL(element p, list* L){
element toDelete = p->next;
if(toDelete){
p->next = toDelete->next;
delete toDelete;
}
}
podaci RetrieveL(element p, list* L){
return p->next->value;
}
Initial URL
Initial Description
opis je implementacija liste pomocu pokazivaca
Initial Title
lista_pkazivac.h
Initial Tags
Initial Language
C++