Итак, формулировка проблемы, в которой я застрял и пытаюсь обратиться за помощью, заключается в следующем: в рамках моего задания нас попросили напечатать уровни всех неконечных узловДвоичное дерево поиска.Мы были шаблоном функции:
int Print_Non_leaf_Level(BST *Root)
А ниже память объекта следующего класса действует как узел связанного списка, представляющего дерево двоичного поиска целых чисел.
class BST{
private: int info;
BST *left;
BST *right;
public: BST () {} //NULL Constructor.
};
Вот что я пытался сделать, но я не уверен, что моя логика верна.
int Print_Non_leaf_Level(BST *Root){
BST *temp;
int level=-1;
temp = Root;
if(temp!=null){
if(temp->left !=null || temp->right != null){
++level;
cout<<level<<'\n';
}
Print_Non_leaf_Level(temp->left);
Print_Non_leaf_Level(temp->right);
return level;
}
}