类别 全部

作者:Darijan Vertovsek 11 年以前

407

Mentalna mapa predloženog rješenja

Mentalna mapa predloženog rješenja

Glavni program

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

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

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

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

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

Implementacija liste pomoću pokazivača

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
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
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
endL() - prolazi kroz cijelu listu te broji elemente, vraća broj elemenata
initL() - postavlja pokazivač sljedeći od glave vezane liste na NULL
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

Implementacija liste pomoću polja

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
swapL(int x, int y) - zamjenjuje mjesta elementu na poziciji x s elementom na poziciji y
insertL(char imepr[], datum dat, char rmjes) - dodaje element u listu, u element liste tipa struktura, te pomiče kursor za 1
endL() - vraća vrijednost kursora, odnosno veličinu polja, broj zaposlenika
initL() - postavlja kursor (varijablu koja pokazuje na kraj polja) na nulu
retrieveL(int x) - vraća element polja ZAPOSLENICI s indeksom x