Glavni program

Implementacija liste pomoću polja

retrieveL(int x) - vraća element polja ZAPOSLENICI s indeksom x

initL() - postavlja kursor (varijablu koja pokazuje na kraj polja) na nulu

endL() - vraća vrijednost kursora, odnosno veličinu polja, broj zaposlenika

insertL(char imepr[], datum dat, char rmjes) - dodaje element u listu, u element liste tipa struktura, te pomiče kursor za 1

swapL(int x, int y) - zamjenjuje mjesta elementu na poziciji x s elementom na poziciji y

deleteL(int x) - briše element na poziciji x i to tako da ga prepiše s sljedećim elementom, zatim sljedeći s onim ispred njega i tako sve dok se ne dođe do kraja liste,te se na kraju kursor umanjuje za 1

Implementacija liste pomoću pokazivača

retrieveL(int x) - prolazi kroz listu dok se brojač i ne izjednači s x, te vraća element koji je zatečen u toj iteraciji

initL() - postavlja pokazivač sljedeći od glave vezane liste na NULL

endL() - prolazi kroz cijelu listu te broji elemente, vraća broj elemenata

insertL(char imepr[], datum dat, char rmjes) - prolazi listom dok ne dođe do kraja, dodaje element na kraj liste, te pokazivač sljedeći od dodanog elementa tipa struktura postavlja na NULL

swapL(int x, int y) - funkcija koja koristi sličnu logiku kao i retrieveL(int x), prolazi dva puta kroz listu, jednom da nađe element na poziciji x, a drugi put za element na poziciji y. Zamjenjuje vrijednosti ZAPOSLENIK jednog elementa s vrijednosti ZAPOSLENIK drugog elementa

deleteL(int x) - prolazi poljem dok se brojač i ne izjednači s x, te briše element koji je zatečen u toj iteraciji

unos() - unosi se ime i prezime, datum rođenja i radno mjesto zaposlenika u pomoćne varijable koje se prosljeđuju funkciji insertL

sortiraj() - pozivaju se funkcije vezane za quicksort, a to su Qsort te pivot, te se nakon što se lista sortira silazno s obzirom na OIB, ispisuju svi zaposlenici U funkciji Qsort se koriste funkcije retrieveL te swapL

brisanje() - korisnik unosi OIB, iterira se kroz listu, od 0. elementa pa do endL-1. elementa te kad se naiđe na zaposlenika čiji se OIB podudara s unesenim OIB-om, briše se element na toj poziciji koristeći funkciju deleteL

brisanje1() - korisnik unosi radno mjesto, prolazi se kroz listu i svaki put kad se naiđe na zaposlenika s radnim mjestom briše se koristeći funkciju deleteL

trazenjehoroskopa() - u ovom dijelu zadatka se najviše koristi funkcija retrieveL, za pronalaženje vlastitog datuma rođenja te za traženje i ispisivanje ljudi s jednakim datumom