/ Published in: C++
Datoteka zaglavlja, Strukture podataka
Expand |
Embed | Plain Text
Copy this code and paste it in your HTML
#include <string> using namespace std; struct ziv { int sifra; string naziv; string vrsta; int datum[3]; int cijena; }; struct List { ziv a; List *next; }; typedef List lista; typedef List* element; element GRESKA; void InitL(lista *lista2) { element novi=new lista; novi->next=NULL; lista2->next=novi; } element FirstL(lista *lista2) { return lista2->next; } element EndL(lista *lista2) { element tekuci=lista2->next; while (tekuci->next!=NULL) { tekuci=tekuci->next; } return tekuci; } element NextL(element e, lista *lista2) { return e->next; } element PreviousL(element e, lista *lista2) { element tekuci=lista2; while (tekuci->next!= e) { tekuci=tekuci->next; } return tekuci; } int InsertL(ziv nova_z, element e, lista *lista2) { element novi=new lista; novi->a=nova_z; novi->next=e; element prethodni=PreviousL(e, lista2); prethodni->next=novi; return 1; } bool DeleteL(element e, lista *lista2) { element tekuci=lista2; while (tekuci->next!=e) { tekuci=tekuci->next; } tekuci->next=e->next; delete e; return true; } void DeleteAll(lista *lista2) { element tekuci, brisi; tekuci=lista2->next; while(tekuci != NULL) { brisi=tekuci; tekuci=tekuci->next; delete brisi; } element zadnji=new lista; zadnji->next=NULL; lista2->next=zadnji; } element LocateL(ziv odbjegla, lista *lista2) { element tekuci; tekuci=lista2->next; while (tekuci!=EndL(lista2)) { if (tekuci->a.sifra==odbjegla.sifra) { return tekuci; } tekuci=tekuci->next; } return GRESKA; } ziv RetrieveL (element e, lista *lista2) { return e->a; }