Categorias: Todos

por Darijan Vertovsek 11 anos atrás

366

Mentalna mapa predloženog rješenja

Dalam teks ini, terdapat beberapa fungsi yang berkaitan dengan pengurusan data pekerja menggunakan struktur data senarai yang dihubungkan. Fungsi "unos" digunakan untuk memasukkan nama, tarikh lahir, dan kedudukan pekerjaan pekerja ke dalam pembolehubah sementara sebelum mengisihkannya ke dalam senarai.

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