Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int n=0;//globalna varijabla - broji članove liste
- struct clan{
- int mbr;
- char ime[20];
- int starost;
- };
- struct list{
- clan pacijent;
- list *sljedeci;
- list *prethodni;
- };
- typedef struct list *plist;
- list *FirstL(list *L){
- list *tekuci=L->sljedeci;
- return tekuci;
- }
- list *EndL(list *L){
- list *tekuci=L;
- while(tekuci->sljedeci!=NULL)
- tekuci=tekuci->sljedeci;
- return tekuci->sljedeci;
- }
- list *NextL(int p,list *L){
- list *tekuci=L;
- int i=0;
- while(i != p){
- tekuci=tekuci->sljedeci;
- i++;
- }
- return tekuci;
- }
- list *PreviousL(int p,list *L){
- list *tekuci=L->sljedeci;
- int i=1;
- while((i+1)!=p){
- tekuci=tekuci->sljedeci;
- i++;
- }
- return tekuci;
- }
- list *LocateL(int mbr, list *L){
- list *tekuci=L;
- while((tekuci != NULL) && (tekuci->pacijent.mbr != mbr)){
- tekuci=tekuci->sljedeci;
- }
- return tekuci;
- }
- int InsertL(clan x,int p,list *L){
- list *prethodni=L;
- int i=1;
- while((i)!=(p)){
- prethodni=prethodni->sljedeci;
- i++;
- }
- if(prethodni->sljedeci==NULL){
- list *novi=new list;
- prethodni->sljedeci=novi;
- novi->sljedeci=NULL;
- novi->prethodni=prethodni;
- novi->pacijent=x;
- n++;
- return 1;
- }else{
- list *sljedeci=prethodni->sljedeci;
- list *novi=new list;
- novi->sljedeci=sljedeci;
- prethodni->sljedeci=novi;
- novi->prethodni=prethodni;
- sljedeci->prethodni=novi;
- novi->pacijent=x;
- n++;
- return 1;
- }
- return 0;
- }
- int DeleteL(int p,list *L){
- list *tekuci=L->sljedeci;
- list *prethodni=L;
- int i=1;
- while(i!=p){
- prethodni=tekuci;
- tekuci=tekuci->sljedeci;
- i++;
- }
- if(tekuci->sljedeci==NULL){
- delete tekuci;
- prethodni->sljedeci=NULL;
- n--;
- return 1;
- }else{
- list *sljedeci=tekuci->sljedeci;
- prethodni->sljedeci=sljedeci;
- sljedeci->prethodni=prethodni;
- delete tekuci;
- n--;
- return 1;
- }
- return 0;
- }
- clan RetrieveL(int p,list *L){
- list *tekuci=L;
- int i=0;
- while(i!=p){
- tekuci=tekuci->sljedeci;
- i++;
- }
- return tekuci->pacijent;
- }
- void DeleteAllL(list *L){
- list *tekuci,*prethodni;
- tekuci=L->sljedeci;
- if(tekuci->sljedeci==NULL){
- delete tekuci;
- L->sljedeci=NULL;
- n=0;
- }else{
- prethodni=tekuci;
- tekuci=tekuci->sljedeci;
- while(tekuci){
- delete prethodni;
- prethodni=tekuci;
- tekuci=tekuci->sljedeci;
- }
- delete prethodni;
- L->sljedeci=NULL;
- n=0;
- }
- }
- void InitL(list *L){
- L->pacijent.mbr = 0;
- L->pacijent.starost = 0;
- L->sljedeci=NULL;
- n=0;
- }
- int mbr(list *L, list *Lst) {
- return L->pacijent.mbr;
- }
- char *ime(list *L, list *Lst) {
- return L->pacijent.ime;
- }
- int starost(list *L, list *Lst) {
- return L->pacijent.starost;
- }
Add Comment
Please, Sign In to add comment