Функция вывода листьев бинарного дерева

blrcatalyst

Написал функцию вывода всего что есть в дереве. помогите переделать ее так чтобы она выводила только листья(без детей которые)
void Node::Scan(void (*f)(void* n))
 {
    f(this->Data); 
    std::cout<<std::endl;
    if (this->Left  != NULL) this->Left->Scan(f); 
    
    if (this->Right != NULL) this->Right->Scan(f);
 
void Print(void* x)   // вывод при обходе
{
    cout <<((NodeTree*)x)->key<<"-"<<((NodeTree*)x)->c <<ends;
}
 }
ее вызов
      t1.Root->Scan(Print);
1 ответ

blrcatalyst

Добавь проверку: печатать только если правое и левое поддерево пусты.