Revision: 34530
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at October 24, 2010 05:48 by barrogar
Initial Code
struct tpacijent {
int mb;
char ime[30];
int godine;
} pacijent;
struct list {
int mb;
char ime[30];
int godine;
list* next;
};
typedef list* element;
element EndL (list* L) {
list* tekuci = L;
while (tekuci->next)
tekuci = tekuci->next;
return tekuci;
};
element FirstL (list* L) {
if (L->next)
return L;
else
return EndL(L);
};
element NextL (element p, list* L) {
if (p->next)
return p->next;
else
return EndL(L);
};
element PreviousL (element p, list* L) {
if (p == FirstL(L))
return 0;
list* tekuci = L;
while(tekuci->next) {
if (tekuci->next == p)
return tekuci;
tekuci = tekuci->next;
}
};
element LocateL (tpacijent x, list* L) {
list* tekuci = L;
while (tekuci){
if(tekuci->next && tekuci->next->mb == x.mb)
return tekuci;
tekuci = tekuci->next;
}
return EndL(L);
};
int InsertL (tpacijent x, element p, list* L) {
if (p) {
list* novi = new list;
novi->mb = x.mb;
strcpy(novi->ime, x.ime);
novi->godine = x.godine;
novi->next = NULL;
if (p->next){
novi->next = p->next;
}
p->next = novi;
return 1;
}
else
return 0;
};
int DeleteL(element p, list* L) {
if (p && p->next) {
list* pom = p->next;
p->next = p->next->next;
delete pom;
return 1;
}
else
return 0;
};
tpacijent RetrieveL(element p, list* L) {
if (p && p->next) {
pacijent.mb = p->next->mb;
strcpy (pacijent.ime, p->next->ime);
pacijent.godine = p->next->godine;
return pacijent;
}
};
void DeleteAllL(list* L) {
list *pok = L->next;
list *tekuci;
while (pok) {
tekuci = pok;
pok = pok->next;
delete tekuci;
}
};
list* InitL(list* L) {
L = new list;
L->next = NULL;
return L;
};
Initial URL
Initial Description
Initial Title
Sp zadatak 1 pokazivaci, Barbara Rogar
Initial Tags
Initial Language
C++