Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- using namespace std;
- struct tpac {
- int mb;
- char ime[20];
- int godine;
- } pacijent;
- struct list {
- int mb;
- char ime[20];
- int godine;
- list* sljedeci;
- };
- typedef list* elem;
- elem Init(list* L) {
- L = new list;
- L->sljedeci = NULL;
- return L;
- }
- elem End(list* L) {
- list* tekuci = L;
- while (tekuci->sljedeci)
- tekuci = tekuci->sljedeci;
- return tekuci;
- }
- elem First(list* L) {
- if (L->sljedeci)
- return L;
- return End(L);
- }
- elem Next(elem p, list* L) {
- if (p->sljedeci)
- return p->sljedeci;
- return End(L);
- }
- elem Previous(elem p, list* L){
- if (p == L) return 0;
- list* tekuci = L;
- while (tekuci->sljedeci) {
- if (tekuci->sljedeci == p)
- return tekuci;
- tekuci = tekuci->sljedeci;
- }
- }
- int Insert(tpac neki, elem p, list* L) {
- if (p) {
- list* novi = new list;
- novi->mb = neki.mb;
- strcpy (novi->ime, neki.ime);
- novi->godine = neki.godine;
- if (p->sljedeci)
- novi->sljedeci = p->sljedeci;
- else
- novi->sljedeci = NULL;
- p->sljedeci = novi;
- return 1;
- }
- return 0;
- }
- elem Locate(tpac neki, list* L) {
- list* tekuci = L;
- while (tekuci) {
- if (tekuci->sljedeci->mb == neki.mb)
- return tekuci;
- tekuci = tekuci->sljedeci;
- }
- return End(L);
- }
- tpac Retreive(elem p, list* L) {
- if (p && p->sljedeci) {
- pacijent.mb = p->sljedeci->mb;
- strcpy (pacijent.ime, p->sljedeci->ime);
- pacijent.godine = p->sljedeci->godine;
- return pacijent;
- }
- }
- int Delete(elem p, list* L) {
- list* pom;
- if (p && p->sljedeci) {
- pom = p->sljedeci;
- p->sljedeci = p->sljedeci->sljedeci;
- delete pom;
- return 1;
- }
- else
- return 0;
- }
- void DeleteAll(list* L) {
- list *tekuci = L->sljedeci;
- list *pom;
- while (tekuci) {
- pom = tekuci;
- tekuci = tekuci->sljedeci;
- delete pom;
- }
- }
Add Comment
Please, Sign In to add comment