Обход дерева через представление списка смежности - PullRequest
0 голосов
/ 13 апреля 2019

В некоторых задачах мне дали узлы и ребра, затем я построил дерево с помощью списка смежности, затем, обходя его по порядку, ничего не печаталось, я думаю, что проблема в том, что на листовом узле нет узла. Пожалуйста, помогите

void inorder(int root,vector<int> treeR[],vector<int> node){

    if(!root){
        return;
    }
    inorder(treeR[root][0],treeR,node);
    cout<<node[root]<<" ";
    inorder(treeR[root][1],treeR,node);
    return;
}
  int main(){
    int t;
    cin>>t;
    for(int T=0;T<t;T++){
        int n;
        cin>>n;
        int val,u,v;
        vector<int> nodes;
        vector<int> treeR[n-1];

        for(int i=0;i<n;i++){
            cin>>val;
            nodes.push_back(val);
        }

        for(int i=0;i<n-1;i++){
                cin>>u>>v;
                treeR[u-1].push_back(v-1);
        }
        inorder(0,treeR,nodes);
    }    
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...