Return to Snippet

Revision: 60589
at November 12, 2012 01:35 by SikavicaNino


Updated Code
struct List {
    zivotinja pod;
    List* slj;
};

typedef List Lista;
typedef List* element;


void InitL(Lista *l) {
    l->slj = NULL;
}

element FirstL(Lista *l) {
    return l;
}

element EndL(Lista *l) {
    element pom = l;
    while (pom->slj != NULL) {
        pom = pom->slj;
    }
    return pom;
}

element NextL(element e, Lista *l){
    return e->slj;
}

element PreviousL(element e, Lista *l){
    element pom = l;
    while (pom->slj != e) {
        pom = pom->slj;
    }
    return pom;
}

void DeleteL(element e, Lista *l) {
    element brisemo = e->slj; 
    e->slj = brisemo->slj;
    delete brisemo;
}

void DeleteAll(Lista *l){
    while (l->slj != NULL) {
        DeleteL(l, l);
    }
}
 
int InsertL(zivotinja x, element e, Lista *l) {
    element n = new Lista;
    n->pod = x;
    n->slj = e->slj;
    e->slj = n;
    return 1;
}



element LocateL(zivotinja x, Lista *l){
    element pom = l;
    while (pom->slj->pod.sifra != x.sifra) {
        pom->slj;
    }
    return pom;
}

zivotinja RetrieveL(element e, Lista *l){
    return e->slj->pod;
}

Revision: 60588
at November 12, 2012 01:23 by SikavicaNino


Initial Code
struct List {
    zivotinja pod;
    List* slj;
};

// typedef a b znaci: b je drugo ime za a
typedef List Lista;
typedef List* element;


void InitL(Lista *l) {
    l->slj = NULL;
}

element FirstL(Lista *l) {
    return l;
}

element EndL(Lista *l) {
    element pom = l;
    while (pom->slj != NULL) {
        pom = pom->slj;
    }
    return pom;
}

element NextL(element e, Lista *l){
    return e->slj;
}

element PreviousL(element e, Lista *l){
    element pom = l;
    while (pom->slj != e) {
        pom = pom->slj;
    }
    return pom;
}

void DeleteL(element e, Lista *l) {
    element brisemo = e->slj; 
    e->slj = brisemo->slj;
    delete brisemo;
}

void DeleteAll(Lista *l){
    while (l->slj != NULL) {
        DeleteL(l, l);
    }
}
 
int InsertL(zivotinja x, element e, Lista *l) {
    element n = new Lista;
    n->pod = x;
    n->slj = e->slj;
    e->slj = n;
    return 1;
}



element LocateL(zivotinja x, Lista *l){
    element pom = l;
    while (pom->slj->pod.sifra != x.sifra) {
        pom->slj;
    }
    return pom;
}

zivotinja RetrieveL(element e, Lista *l){
    return e->slj->pod;
}

Initial URL


Initial Description
U ovoj biblioteci su definirane funkcije za izvršavanje operacija nad  listom: iniciranje liste(InitL), funkcija koja vraća poziciju prvog elementa(FirstL), funkcija koja vraća poziciju zadnjeg elementa(EndL) funkcija za umetanje elementa(InsertL), funkcija koja vraća vrijednost elementa na nekoj poziciji(RetrieveL),funkcija koja vraća sljedbenika (NextL),funkcija koja vraća prethodnika (PreviousL), funkcija koja vraća prvi element liste čija je vrijednost jednaka x(LocateL x,L) te funkcije za brisanje jednog elementa (DeleteL) i cijele liste(DeleteAllL).

Initial Title
lista_pokazivac.h

Initial Tags


Initial Language
C++