Return to Snippet

Revision: 60797
at November 12, 2012 09:54 by Jurij


Initial Code
struct dat {
      int d,m,g;
    };
     
    struct zapis {
      int sifra;
      float cijena;
      char vrsta[20],naziv[20];
      dat datum;
    };
     
    struct lista {
      zapis podaci;
      lista *nx;
    };
     
    lista *L = new lista;
    int sifra=100,n=0;
     
    void InitL(lista *L) {
      L->nx=NULL;
    }
    
    int EndL(lista *L) {
      lista* temp=L;
      int p=0;
      while(temp->nx) {
        temp=temp->nx;
        p++;
      }
      return p;
    }
    
    int FirstL(lista* L) {
      if(L->nx==NULL) return EndL(L);
      return 0;
    }
     
    int PreviousL(int p,lista* L) {
      if(p==FirstL(L)) return -1;
      return p-1;
    }
     
    int NextL(int p,lista* L) {
      if(p==EndL(L)) return -1;
      if(p==PreviousL(EndL(L),L)) return EndL(L);
      return p+1;
    }

    void InsertL(zapis x,int p,lista *L) {
      lista *k=L;
      for(int i=0;i<p;i++)k=k->nx;     
      lista *novi = new lista;
      novi->nx=(k->nx)->nx;
      k->nx=novi;
      novi->podaci=x;
    }
     
    zapis RetrieveL(int p,lista* L) {
      lista *temp = L->nx;
      for(int i=0;i<p;i++)temp=temp->nx;
      return temp->podaci;
    }
          
    int LocateL(char x[],lista* L) {
      lista *temp=L;
      int p=0;
      while(temp) {
        if(temp->next==NULL) return EndL(L);
        if(!strcmp((temp->nx)->podaci.naziv,x)||(!strcmp((temp->nx)->podaci.vrsta,x)))return p;
        temp=temp->nx;
        p++;
      }
      return EndL(L);
    }
    
    void DeleteL(int p, lista *L) {
      lista *temp = L->nx,*prev=L;
      for(int i=0;i<p;i++) {
        prev=temp;
        temp=temp->nx;
      }
      prev->nx=temp->nx;
      delete temp;
    }

    void DeleteAll(lista* L) {
      lista* prev=L,*temp=L->nx;
      while(temp) {
        delete prev;
        prev=temp;
        temp=temp->nx;
      }
      delete prev;
      L=NULL;
    }

Initial URL


Initial Description
Zaglavlje s implementacijom funkcija pomoću pokazivača

Initial Title
Evidencija Zivotinja Pokazivaci Zaglavlje

Initial Tags
list

Initial Language
C++