#include #include #include /* Funkcije qsort i bsearch, uzlazno sortiranje polja stringova. Primjer 1a: pazi na tipove kod poziva qsort, bsearch. - Funkcija za usporedbu prima pokazivace na void (kako qsort ocekuje), a tipovi se eksplicitno pretvaraju UNUTAR funkcije, - Eksplicitni cast u pozivu bsearch. */ /* Usporedba rijeci u rjecniku preko strcmp. */ /* Funkcija ima tip kojeg qsort i bsearch ocekuju. */ int usporedi(const void *a, const void *b) { return strcmp((char *) a, (char *) b); } int main(void) { char rjecnik[3][20] = {"po", "ut", "sri"}; int i; qsort(rjecnik, 3, 20, usporedi); for (i = 0; i < 3; ++i) puts(rjecnik[i]); /* Cast povratne vrijednosti bsearch. */ printf("trazi \"ut\": %s\n", (char *) bsearch("ut", rjecnik, 3, 20, usporedi)); printf("trazi \"pe\": %s\n", (char *) bsearch("pe", rjecnik, 3, 20, usporedi)); return 0; }