Return to Snippet

Revision: 60607
at November 12, 2012 02:36 by izavrski2


Initial Code
struct List {
    podaci value[1000]; 
    int cursor; 
};

typedef List Lista;
typedef int element;

element FirstL(Lista *L) {
    return 0;
}

element EndL(Lista *L) {
    return L->cursor;
}

element NextL(element P, Lista *L) {
    return P+1;
}

element PreviousL(element P, Lista *L) {
    return P-1;
}

element LocateL(podaci X, Lista *L) {
    int i = 0;
    while (i < L->cursor) {
        if (L->value[i].sifra == X.sifra) {
            return i;
            i++;
        }
    }
}

bool InsertL(podaci X, element P, Lista *L) {
   
    if (L->cursor == 1000) {
        return false;
    }
    
    for (int i = L->cursor-1; i >= P; i--) {
        L->value[i+1] = L->value[i];
    }
   
    L->value[P] = X;
    L->cursor += 1;
    return true;
}

void DeleteL(element P, Lista *L) {
    
    for (int i = P; i < L->cursor; i++) {
        L->value[i] = L->value[i+1];
    }
    L->cursor -= 1; 
}

podaci RetrieveL(element P, Lista *L) {
    return L->value[P];
}


void DeleteAll(Lista *L){ 
    L->cursor = 0;
}

void InitL(Lista *L) {
    L->cursor = 0;
}

Initial URL


Initial Description
U ovoj biblioteci su definirane standardne funkcije za operacije nad listom (FirstL, EndL, NextL, PreviousL, LocateL, InsertL, DeleteL, RetrieveL, DeleteAll i InitL). Te se funkcije pozivaju u glavnom programu po potrebi. Koristi se polje pomoću kojeg se implementira tzv. vezana lista.

Initial Title
Datoteka zaglavlja - lista_polje.h

Initial Tags
list

Initial Language
C++