Return to Snippet

Revision: 60478
at November 10, 2012 07:48 by PetraKuhar


Initial Code
struct zivotinja {
    int sifra, cijena;
    string vrsta, naziv;
    long datum;
};

struct List {
    zivotinja jedna;
    List *sljedeci;
};

// typedef <a> <b> znaci: "od sad, b je drugi naziv za a"
typedef List Lista;
typedef List* element;

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

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

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

int InsertL(zivotinja nova, element e, Lista *l) {
    element novi = new Lista;
    novi->sljedeci = e->sljedeci;
    novi->jedna = nova;
    e->sljedeci = novi;
    return 1;
}

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

void DeleteAll (Lista *l) {
    element temp = l->sljedeci;
    element brisi;
    while (temp != NULL) {
        brisi = temp;
        temp = temp->sljedeci;
        delete brisi;
    }
    l->sljedeci = NULL;
}

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


element LocateL(zivotinja x, Lista *l) {
    element temp;
    temp = l;
    while((temp->sljedeci->jedna.sifra != x.sifra) && (temp != EndL(l))) {
        temp = temp->sljedeci;
    }
    return temp;
}



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

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

Initial URL
pokazivaci_petrak

Initial Description
Lista pokazivači

Initial Title
pokazivaci.h za zadatak 1

Initial Tags


Initial Language
C++