/*============================================================== * DURCHSUCHEN EINES NACH SCHLUESSEL SORTIERTEN ARRAYS * MIT HILFE DER BINÄREN SUCHE *============================================================*/ #include #include #include "binsearch.h" /************************************************************** * der zu durchsuchende Array **************************************************************/ #define ARRAY_LEN 7 /* Datenstrukturen fuer die spezielle Anwendung ---*/ typedef struct { char name[10]; int gehalt; } my_data_t; typedef struct { char key[10]; my_data_t data; } my_xarray_t; my_xarray_t mya[ARRAY_LEN] = { { "key1", { "name1", 2001 } }, { "key2", { "name2", 2002 } }, { "key3", { "name3", 2003 } }, { "key4", { "name4", 2004 } }, { "key5", { "name5", 2005 } }, { "key6", { "name6", 2006 } }, { "key7", { "name7", 2007 } }, }; /* Array von Zeigern auf Schluesselwerte und Nutzdaten */ my_array_t a[ARRAY_LEN]; /* Anwendungsspezifische Auspraegung der compareTo() Funktion. Hier* String-Vergleich */ int compareTo(void *k1, void *k2) { return strcmp( (char *)k1, (char *)k2 ); } /*--------------------- Hauptprogramm der Anwendung -----------------*/ int main() { char theKey[10]; int iCnt; int ug, og, m; my_data_t *d; for ( iCnt = 0; iCnt name,d->gehalt); else printf("Schluessel nicht gefunden.\n"); }