Return to Snippet

Revision: 60655
at November 12, 2012 05:08 by nikym23


Initial Code
#include <iostream>

struct zivotinje{
      int sifra;
      char vrsta[30];
      char naziv[30];
      int d,m,g,dat;
      float cijena; 
       };



struct lista{
       zivotinje a[1000];
       int pokazivac;
       };
       
typedef int element;


element EndL(lista *lis){
  return lis->pokazivac;
}

element FirstL(lista *lis){
if (lis->pokazivac == 0) EndL(lis);
  return 0;
}


lista* InitL(lista *lis){
  lis=new lista;
  lis->pokazivac=0;
  return lis;
}
 
element InsertL(zivotinje zivotinja, element p, lista *lis){
  int j;
  for(j=EndL(lis);j>p;j--)
     lis->a[j]=lis->a[j-1];
  lis->a[p]=zivotinja;
  lis->pokazivac=lis->pokazivac+1;
  if(lis->a[p].sifra==zivotinja.sifra)
     return 1;
  else 
     return 0;
}
element PreviousL(element p, lista *lis){
  if(p==FirstL(lis)) return -1;
  return p-1;
}
zivotinje RetrieveL(int p, lista *lis){
  return lis-> a[p];
}

element DeleteAllL(lista *lis){
  lis->pokazivac=0;
  return 1;
}   
element NextL(element p, lista *lis){
  if(p==PreviousL(EndL(lis),lis)) return EndL(lis);
  return p+1;
}

element DeleteL(element p, lista *lis){
  int j;
  int pom=lis->pokazivac;
  for(j=p;j<EndL(lis);j++)
     lis->a[j]=lis->a[j+1];
  if(p!=EndL(lis)) 
     lis->pokazivac=lis->pokazivac-1;
  if(pom!=lis->pokazivac)
     return 1;
  else
     return 0;
}

element LocateL(zivotinje z, lista* lis) {
  int j;
  for(j=0;j<EndL(lis);j++){
    if(z.sifra!=0){
      if(z.sifra==lis->a[j].sifra)
        return j;
    }
  
  }
  return EndL(lis);
}

Initial URL


Initial Description
u ovoj bibljioteci se nalazi funkcije liste pomoću polja koje se kotsire u glavnom programu.

Initial Title
Lista_polje.H Struktere podataka

Initial Tags


Initial Language
C++