*题目记录 codevs3143 二叉树的序遍历
2018-09-24 10:37
671 查看
#include<stdio.h> typedef struct node{ int boo; struct node *chil; int l; struct node *chir; int r; }; int bl(node *p); int bj(node *q); int bk(node *r); int main(){ struct node k[16]; int n; scanf("%d",&n); for(int i=1;i<=n;i++){ k[i].boo=i; } for(int i=1;i<=n;i++){ k[i].boo=i; int a,b; scanf("%d %d",&a,&b); if(a != 0){ k[i].chil=&k[a]; k[i].l=1; }else{ k[i].l=0; } if(b != 0){ k[i].chir=&k[b]; k[i].r=1; }else{ k[i].r=0; } } //输入数据 bl(&k[1]); printf("\n"); bj(&k[1]); printf("\n"); bk(&k[1]); return 0; } int bl(node *p){ printf("%d ",p->boo); if((p->l) == 1){ bl(&(*p->chil)); } if((p->r) == 1){ bl(&(*p->chir)); } } int bj(node *q){ if((q->l)==1){ bj(&(*q->chil)); } printf("%d ",q->boo); if((q->r)==1){ bj(&(*q->chir)); } } int bk(node *r){ if((r->l)==1){ bk(&(*r->chil)); } if((r->r)==1){ bk(&(*r->chir)); } printf("%d ",r->boo); }
相关文章推荐
- codevs 3143 二叉树的序遍历
- codevs 3143 二叉树的序遍历
- CODEVS 3143 二叉树的序遍历
- codeVS 3143 二叉树的序遍历
- code[vs] 3143 二叉树的序遍历
- CODE[VS]_3143二叉树的序遍历
- [codevs3143] 二叉树的序遍历
- 【LeetCode题目记录-2】从前序遍历和中序遍历构建二叉树
- 二叉树结构 codevs 1029 遍历问题
- codevs 3143 二叉树
- VS Code 常用命令记录
- codevs1219 骑士遍历(棋盘DP)
- code[vs] 1501 二叉树最大宽度和高度
- 数据结构-二叉树基础题目小结(遍历,求节点数目等等)
- 二叉树计数(codevs 3112)
- 3143 二叉树的序遍历
- 3143 二叉树的序遍历(维基oi)
- 记录一下ubuntu下采用vscode编译调试c/c++
- codevs1219 骑士遍历(棋盘DP)
- 刷题记录-codevs1553 互斥的数