#include #include #include "config.h" #include "HTree.h" HTree::HTree(int n_freq, char * n_objet) { freq = n_freq; objet = n_objet; left = right = NULL; } HTree::HTree(HTree * n_left, HTree * n_right) { left = n_left; right = n_right; freq = n_left->freq + n_right->freq; objet = NULL; } HTree::~HTree() { if (left) delete left; if (right) delete right; } ostream & HTree::Trace(ostream & os, int d) { static char cmpr[MAX_HDEPTH + 1]; if (objet) { cmpr[d] = '\0'; os << objet << " = " << cmpr << endl; } else { if (left) { cmpr[d] = '0'; left->Trace(os, d + 1); } if (right) { cmpr[d] = '1'; right->Trace(os, d + 1); } } return os; }