000
30.04.2004, 09:18 Uhr
~andreasK
Gast
|
Hallo,
hab da eine Datenstruktur in der ein binärer Baum steht:
| C++: |
typedef struct baum { int wert; struct baum *daddy; struct baum *rechts; struct baum *links; void *ptr; int tiefe;} baum;
|
Hab damit jetzt folgendes Problem und zwar ich mir diesen Baum ausgeben lassen kann, so dass ich acuh erkenne welcher Knoten mit wem verbunden ist und wie der Baum aussieht.
Hab da folgenden Code, der aber leider nicht ganz funtzt:
| C++: |
void ausgabe(baum *wurzel, int blanks) { //rekursive funktion die die daten als baum der zur seite zeigt anzeigt int side = 2; char str1 = 194; char str2 = 193;
if (wurzel->rechts != NULL) { blanks++; ausgabe(wurzel->rechts, blanks); side = 1; } //blanks solange wie bis die tiefe "blanks" erreicht ist blanks wird immer um fünf hochgezählt //wenn ein neuer knoten gefunden ist for (int i = 1; i <= wurzel->tiefe; i++) { //printf("%d\n", wurzel->tiefe); printf("."); }
if (side == 1) printf("%c--%d\n",str1, wurzel->wert); if (side == 2) printf("%c--%d\n",str2, wurzel->wert);
if (wurzel->links != NULL) { blanks += 5; ausgabe(wurzel->links, blanks); side = 2; } }
|
bin über jede Hilfe dankbar!
Gruß Andreas |