struct tigra{
       string sifra = "";
       char naziv[40];
       char proizvodac[40];
       char zanr[10];
       int pegi;};

struct element{
       tigra podaci;
       element *sl;};

typedef element *elem;

elem FirstL(element *l){
   return l->sl;}
            
elem EndL(element *l){
   return NULL;}

elem NextL(element *p, element *l){
   return p->sl;}

elem PreviousL(element *p, element *l){
   el pr=l;
   while(pr->sl != p){
                  pr=pr->sl;}
   return pr;}

elem LocateL(tigra b, lista *l){
	element tekuci;
	tekuci = l->sl;
	while(tekuci){
		if(b.sifra!=""){
			if(b.sifra == tekuci->podaci.sifra)
			return tekuci;} 
		tekuci = tekuci->sljedeci;}}

int InsertL(tigra b, element *p, element *l){
   if (p==EndL(l)) return 0;
   else{
        element *n = new element;
        n->sl = b;
        n->sl = p->sl;               
        p->sl = n;      
        return 1;}}

void DeleteL(element *p, element *l){
     element *br = p->sl;
     ps->l = br->sl;
     delete br;}

podaci RetrieveL(element *p, element *l){
    p=p->sl;
    return p->podaci;}

void DeleteAllL(element *l){
     while(l->sl != NULL){
                DeleteL(l,l);}}

void InitL(element *l){
     l->sl = NULL;}