| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
jopen
10年前发布

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