C++数组实现二叉树遍历的代码

匿名 (未验证) 提交于 2019-12-02 23:05:13

下边代码是关于C++数组实现二叉树遍历的代码。

# include  struct node {     int l,r; }; struct node tree[100]; int path[100]; int ans; void init() {     int i;     ans = 0;     for(i = 0 ; i < 100 ; i ++  )         tree[i].l = tree[i].r = -1,path[i] = -1; } void preOrderTree(int root) {     if(root == -1 )         return ;     path[ans++] = root;     preOrderTree(tree[root].l);          preOrderTree(tree[root].r);      } int main() {     int T,i,n;     int root,a,b,c;     scanf("%d",&T);     while(T--)     {         init();         scanf("%d",&n);         scanf("%d",&root);         for(i = 0 ; i < n -1; i ++)         {             scanf("%d%d%d",&a,&b,&c);             if(c == 0)             {                 tree[a].l = b;             }             else             {                 tree[a].r = b;             }         }         preOrderTree(root);         for(i = 0 ; i < n ; i ++)             printf("%d%c",path[i],i' ':'/n');              }     return 0; } 
文章来源: https://blog.csdn.net/weixin_44201346/article/details/86773949
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!