Revision: 60647
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at November 12, 2012 04:39 by dfilipov
Initial Code
struct s_datum {
unsigned int dan;
unsigned int mjesec;
unsigned int godina;
};
struct s_zapis {
short sifra;
char vrsta[50];
char naziv[50];
float cijena;
s_datum datum;
};
struct lista {
s_zapis zapis[100];
int cursor;
};
typedef int element;
element EndL(lista *L) {
return L->cursor;
}
element FirstL(lista *L) {
if (L->cursor == NULL)
return EndL(L);
else
return 0;
}
element NextL(element p, lista *L) {
if (p == EndL(L))
return -1;
else
return p+1;
}
element PreviousL(element p, lista *L) {
if (p == FirstL(L))
return -1;
else
return p-1;
}
element LocateL(s_zapis X, lista *L) {
for (int i=0; i < EndL(L); i++)
if (!strcmp(X.vrsta, L->zapis[i].vrsta))
return i;
else if (!strcmp(X.naziv, L->zapis[i].naziv))
return i;
return EndL(L);
}
bool InsertL(s_zapis X, element p, lista *L) {
if (p > L->cursor) return false;
else {
for (int i=L->cursor; i >= p; i--) {
L->zapis[i+1] = L->zapis[i];
}
L->zapis[p] = X;
L->cursor++;
return true;
}
}
bool DeleteL(element p, lista *L) {
if (p > L->cursor)
return false;
for (int i=p; i<L->cursor; i++) {
L->zapis[i] = L->zapis[i+1];
}
L->cursor--;
return true;
}
s_zapis RetrieveL(element p, lista *L) {
return L->zapis[p];
}
lista *InitL(lista *L) {
L = new lista;
L->cursor = 0;
return L;
}
Initial URL
Initial Description
Zaglavlje lista_polje.h
Initial Title
SP Zadatak 1 - implementacija pomocu polja
Initial Tags
podataka
Initial Language
C++