博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
二叉树的建立与遍历
阅读量:6446 次
发布时间:2019-06-23

本文共 1634 字,大约阅读时间需要 5 分钟。

View Code
1 #include
2 #include
3 typedef struct node 4 { 5 char data ; 6 struct node *l, *r ; 7 }tree ; 8 tree *t ; 9 tree *creat(tree *t) 10 { 11 char c ; 12 if((c = getchar())==',') 13 return NULL ; 14 else 15 { 16 t = (tree*)malloc(sizeof(tree)) ; 17 t->data = c ; 18 t->l = creat(t->l) ; 19 t->r = creat(t->r) ; 20 } 21 return t ; 22 } 23 void midsearch(tree *t) 24 { 25 if(t!=NULL) 26 { 27 midsearch(t->l) ; 28 printf("%c", t->data) ; 29 midsearch(t->r) ; 30 } 31 } 32 void lastsearch(tree *t) 33 { 34 if(t!=NULL) 35 { 36 lastsearch(t->l) ; 37 lastsearch(t->r) ; 38 printf("%c", t->data) ; 39 } 40 } 41 int leaf(tree *t) 42 { 43 if(t==NULL) 44 return 0 ; 45 if(t->l==NULL&&t->r==NULL) 46 return 1 ; 47 else return(leaf(t->l)+leaf(t->r)) ; 48 } 49 int deep(tree *t) 50 { 51 if(t==NULL) 52 return 0 ; 53 int m, n ; 54 m = deep(t->l) ; 55 n = deep(t->r) ; 56 if(m>n) 57 return m+1 ; 58 else return n+1 ; 59 } 60 int main() 61 { 62 tree *p ; 63 int leafs ; 64 p = creat(t) ; 65 midsearch(p) ; 66 puts("") ; 67 lastsearch(p) ; 68 puts("") ; 69 leafs = leaf(p) ; 70 printf("%d\n", leafs) ; 71 printf("%d\n", deep(p)) ; 72 return 0 ; 73 }

 

转载于:https://www.cnblogs.com/yelan/archive/2013/02/19/2917661.html

你可能感兴趣的文章
初入前端9
查看>>
animation动画
查看>>
git相关知识:如何避免某些文件无需提交
查看>>
mongodb高级聚合查询
查看>>
StringUtils工具类常用方法
查看>>
苦逼or牛逼
查看>>
加州公布无人驾驶新规定,丰田却对此“碎碎念”
查看>>
Ubuntu 16.04安装Synaptic Package Manager图形化APT管理工具
查看>>
Facebook 宕机事故系服务器配置问题导致
查看>>
谈一个技术的问题:oracle中sql语句的优化
查看>>
在 MaxCompute UDF 中运行 Scipy
查看>>
那些阿里的年轻人
查看>>
Kafka Streams 剖析
查看>>
TortoiseSVN客户端使用教程
查看>>
卖VR眼镜需谨慎,已经有30多人因传播VR小黄片被抓了
查看>>
使用unisphere添加nas过程
查看>>
【看图识算法】这是你见过最简单的 “算法说明书”
查看>>
Oracle12C—用户概要文件profile日常操作
查看>>
ImportError: No module named items
查看>>
Oracle中可被并行化执行的SQL操作
查看>>