void binaireboom::initextra_p(knoop *k) {
  if (k != NULL) {
    k->extra = 0;
    initextra_p(k->links);
    initextra_p(k->rechts);
  }//if
}//binaireboom::initextra_p

void binaireboom::vulextra_p(knoop *k, int niveau) {
  if (k != NULL) {
    k->extra = niveau + 1;
    vulextra_p(k->links, niveau + 1);
    vulextra_p(k->rechts, niveau + 1);
  }//if
}//binaireboom::vulextra_p

int binaireboom::aantalbladeren_p(knoop *k) {
  if (k == NULL)
    return 0;
  if ((k->links == NULL) && (k->rechts == NULL))
    return 1;
  return aantalbladeren_p(k->links) + aantalbladeren_p(k->rechts);
}//binaireboom::aantalbladeren_p

int binaireboom::hoogte_p(knoop *k) {
  if (k == NULL)
    return 0;
  return max(hoogte_p(k->links), hoogte_p(k->rechts)) + 1;
}//binaireboom::hoogte_p

char binaireboom::maxinfowaarde_p(knoop *k) {
  if (k == NULL)
    return '\0'; // De laagste waarde in de ascii tabel.
  return max(max(maxinfowaarde_p(k->links), maxinfowaarde_p(k->rechts)), k->info);
}//binaireboom::maxinfowaarde_p

void binaireboom::doepostorde_p(knoop *k) {
  if (k != NULL) {
    doepostorde_p(k->links);
    doepostorde_p(k->rechts);
    cout << k->info << ", " << k->extra << endl;
  }//if
}//binaireboom::doepostorde_p

