C++数组实现二叉树遍历
2018-07-20 来源:open-open
# 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; }
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。
上一篇:C语言版的算24游戏代码
下一篇:一种改进的求整数x的y次幂
最新资讯
热门推荐