/* AGS 3.18 */ (a) int sum(zeiger kopf) { if (kopf == NULL) return 0; return sum(kopf->links) + sum(kopf->rechts) + kopf->schluessel; } (b) int anzahl(zeiger tree, int pfl) { int i; if (tree == NULL) return 0; else { i = anzahl(tree->links, pfl + 1) + anzahl(tree->rechts, pfl + 1); if (!((tree->links == NULL) && (tree->rechts == NULL))) // kein Blatt? if(!(pfl % 2)) i = i + 1; /* oder if(pfl % 2 == 0) i = i + 1; */ return i; } } /* Aufruf: */ zeiger baum; int summe; ... summe = anzahl(baum, 1);