/ Published in: C++
Datoteka zaglavlja lista_polje.h sadrzi implementacije liste pomocu polja.
Expand |
Embed | Plain Text
#include <string> using namespace std; struct kucni_ljubimci { int sifra; int cijena; string datum; string naziv; string vrsta; }; const int MAX_SIZE = 1000; struct List { kucni_ljubimci polje[MAX_SIZE]; int kursor; }; typedef List Lista; typedef int element; const element error = -1; void InitL(Lista *lista) { lista->kursor = 0; } element FirstL(Lista *lista) { return 0; } element NextL(element e, Lista *lista) { if (e == MAX_SIZE-1) { return error; } return e+1; } element PreviousL(element e, Lista *lista) { return e-1; } element EndL(Lista *lista) { return lista->kursor; } void DeleteL(element e, Lista *lista) { for (int i = e; i < lista->kursor; i++) { lista->polje[i] = lista->polje[i+1]; } lista->kursor -= 1; } void DeleteAll(Lista *lista) { lista->kursor = 0; } kucni_ljubimci RetrieveL(element e, Lista *list) { return list->polje[e]; } element LocateL(kucni_ljubimci x, Lista *lista) { for (int i = 0; i < lista->kursor; i++) { if (lista->polje[i].sifra == x.sifra) { return i; } } return error; } bool InsertL(kucni_ljubimci x, element e, Lista *lista) { if (e == MAX_SIZE) { return false; } for (int i = lista->kursor-1; i >= e; i--) { lista->polje[i+1] = lista->polje[i]; } lista->polje[e] = x; lista->kursor += 1; return true; }
You need to login to post a comment.
