/ Published in: C++
                    
                                        
PoÅ¡to se radi o strogo zadanim funkcijama koje su iste svim studentima, nema nekih prevelikih razlika u kodu osim u drugaÄijim nazivima varijabli te rasporedu pisanja samih funkcija.
                
                            
                                Expand |
                                Embed | Plain Text
                            
                        
                        Copy this code and paste it in your HTML
using namespace std;
int sifra=1;
struct tzivotinja {
int sifra;
char vrsta[30],naziv[30];
float cijena;
tm datum;
tzivotinja *sljedeci;
};
tzivotinja *lista = new tzivotinja;
void initL(tzivotinja *lista){
lista->sljedeci = NULL;
}
int endL(tzivotinja *lista){
tzivotinja *tekuci = lista;
int b=1;
while(tekuci->sljedeci){
tekuci=tekuci->sljedeci;
b++;
}
return b;
}
int firstL(tzivotinja *lista){
if(lista->sljedeci == NULL) return endL(lista);
else return 0;
}
int previousL(int p,tzivotinja *lista){
if(p == firstL(lista)) return -1;
else return p-1;
}
tzivotinja retrieveL(int p, tzivotinja *lista){
tzivotinja *tekuci = lista->sljedeci;
for(int i=0;i<p;i++) tekuci = tekuci->sljedeci;
return *tekuci;
}
int locateL(int v, tzivotinja *lista){
tzivotinja *tekuci = lista->sljedeci;
int br = 0;
while(tekuci){br++;
tekuci = tekuci->sljedeci;
}
return br;
}
tzivotinja * nextL(int p,tzivotinja *lista){
if(p == endL(lista)) return NULL;
else{
tzivotinja tekuci = retrieveL(p,lista);
return tekuci.sljedeci;}
}
void Vrati(tzivotinja element,int p, tzivotinja* lista) {
tzivotinja *tekuci=lista->sljedeci;
for(int i=0;i<p;i++) tekuci=tekuci->sljedeci;
tekuci->sifra = element.sifra;
tekuci->cijena = element.cijena;
strcpy(tekuci->naziv,element.naziv);
strcpy(tekuci->vrsta,element.vrsta);
tekuci->datum = element.datum;
}
void reverse(tzivotinja *lista)
{
if(lista->sljedeci == NULL) return;
tzivotinja *prev = NULL, *current = NULL, *next = NULL;
current = lista->sljedeci;
while(current != NULL){
next = current->sljedeci;
current->sljedeci = prev;
prev = current;
current = next;
}
lista->sljedeci = prev;
}
int insertL(tzivotinja *novi, int p, tzivotinja *lista){
tzivotinja *tekuci = lista;
for(int i=1;i<p;i++)
tekuci = tekuci->sljedeci;
novi->sljedeci = tekuci->sljedeci;
tekuci->sljedeci = novi;
sifra++;
if((tekuci->sljedeci)->sifra == novi->sifra) return 1;
else return 0;
}
void deleteL(int p, tzivotinja *lista){
tzivotinja *tekuci = lista->sljedeci;
tzivotinja *prethodni = lista;
for(int i=0;i<p;i++){
tekuci = tekuci->sljedeci;
prethodni = prethodni->sljedeci;
}
prethodni->sljedeci = tekuci->sljedeci;
delete tekuci;
}
Comments
 Subscribe to comments
                    Subscribe to comments
                
                