摘要:本文主要向大家介绍了C/C++知识点之*题目记录 codevs3143 二叉树的序遍历,通过具体的内容向大家展示,希望对大家学习C/C++知识点有所帮助。
本文主要向大家介绍了C/C++知识点之*题目记录 codevs3143 二叉树的序遍历,通过具体的内容向大家展示,希望对大家学习C/C++知识点有所帮助。
#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);
}
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标编程语言C/C+频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号