/ Published in: C++
Expand |
Embed | Plain Text
Copy this code and paste it in your HTML
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; };