hm... za rjesavanje nemam vremena.. ali evo prijedlog kako bi to mogo uraditi..
prva stvar: napravis listu, ciji ce pointer prvog sloga sadrzavati dva pointera na dva niza sloga (lijevi i desni).
druga stvar: ako imas dva kljuca sortiranja, moras definisati prioritet kljuceva, da ne bi doslo do sukoba. to znaci, moras odluciti koji ce ti od ta dva kljuca biti "jacci", odnosno primarni i sekundarni kljuc. time izbjegavas slucaj da naprimjer neki novi korisnik koji je unesen po JMBG pri silasku niz stablo treba ici na lijevi cvor, a po prezimenu na desni.... onda program ne zna sta treba uraditi... i to je pad programa.
treca stvar: pri unosu u drvo ces poceti od glave (vrha stabla). uzmimo da ti je prvi kljuc prezime, a drugi JMBG. u prvom prolazu ce ti se tip )kakav god da je.... evo uzmimo za primjer da se preziva Berulovic i ima JMBG 952xxxxxxx2. on ce ti se postaviti kao vrh stabla. neka je sljedeca osoba Antimunovic sa JMBG 967xxxxxxx4. Poredit ces novi slog sa postojecim, i posto je primarni kljuc prezime, on ce skontati da je "A" < "B" i poctavit ce novi slog na lijevu stranu kao dijete postojeceg sloga (Berulovica). Da je bio JMBG primarni kljuc postavio bi ga desno, posto je JMBG drugog "veci" od JMBG-a prvog covjeka. tako ces kreirati stablo, pri cemu ce se uvijek naci mjesto odgovarajuce za novounesenog covjeka. neka te ne iritira sto je slovo "B" na vrhu stabla, jer pri pretrazivanju ces primjeniti slican algoritam... npr. Ti trazis Antimunovica.. poredit ces prvo slovo prvog prezimena sa prvim slovom prezimena u vrhu drveta, skontati da je "A" < "B" i ici lijevo.... onda ces ga naci... tako se to moze provuci kroz cijelo stablo. U Slucaju da treba dodati jos nekog "Antimunovica", trebas postaviti slucaj, da ako su ista prezimena (naravno, moras porediti sva slova od tezinskog faktora slijeva...pa tek ako su sva slova ista, isto je i prezime), onda se na osnovu drugog kljuca (istim fazonom) poredi gdje treba ici novi covjek... ako su identicni prezime i JMBG naravno da ces onemoguciti taj slucaj jer nema smisla.... eto ja mislim da sam ti barem dao neku ideju kako bi mogao rijesiti taj problem.
sretno,
visocicaguy
visit:
http://www.smajevic.co.ba/amir