Implementieren Sie die Binäre Suche. Die Suchelemente sind
diesmal aber keine Zahlen, sondern Zeichenketten
(Strings). In C werden Zeichenketten über Zeiger
verwaltet. Sie müssen also die Zeichenketten über
eine Array aus Zeigern vom Typ char* verwalten. Folgende
Funktionen müssen Sie schreiben:
- char** readStringsAndSort(char *filename);
Dateinformat:
/Wort1/
...
/Wortn/
Die Funktion liest die Strings aus der Datei und gibt sie in
einem Array in sortierter Form zurück. Die Länge
der Wortliste ist Ihnen nicht bekannt. Sie kann beliebig lang
sein. Wie die Strings sortiert werden bleibt Ihnen
überlassen.
Tip: Schreiben Sie eine Funktion
int insertStrIntoArry( char** strarry, char *string);
die einen eingelesenen String in ein Array einsortiert.
- int writeSortedStrings(char *filename, char** strarry);
Die Funktion schreibt das (sortierte) Array von Strings
in eine Datei zurück.
- char** readStrings(char *filename);
Dateinformat:
/Wort1/
...
/Wortn/
Die Funktion liest die (Such-)Strings aus der Datei und gibt
sie in einem Array zurück. Das Array muss nicht
sortiert werden!
Die Länge der Wortliste ist Ihnen nicht bekannt. Sie kann
beliebig lang sein.
- int fügeElementEin( char** binaerbaum, char *string);
- char* binaereSuche( char** strarry, char *string);
Schreiben Sie ein Programm, das die Strings mit
readStringsAndSort einliest und mit writeSortedStrings
wieder ausgibt. (Programm da511-???.c )