Как я могу написать отдельную рекурсивную функцию для печати уровней всех неконечных узлов бинарного дерева поиска? - PullRequest
0 голосов
/ 18 сентября 2018

Итак, формулировка проблемы, в которой я застрял и пытаюсь обратиться за помощью, заключается в следующем: в рамках моего задания нас попросили напечатать уровни всех неконечных узловДвоичное дерево поиска.Мы были шаблоном функции:

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;
    }
}
...