二叉树sdutoj1303
来源:互联网 发布:淘宝新手怎样增加粉丝 编辑:程序博客网 时间:2024/04/28 00:03
http://acm.sdut.edu.cn/sdutoj/showproblem.php?pid=2137&cid=1303
#include <stdio.h>#include <stdlib.h>#include <string.h>struct node{ char c; struct node *r,*l;};struct node* xianb(struct node *tree)//先序建树{ char ch; scanf("%c",&ch); if(ch==',')tree=NULL; else{ tree=(struct node *)malloc(sizeof(struct node)); tree->c=ch; tree->l=xianb(tree->l); tree->r=xianb(tree->r); } return tree;}void putzhong(struct node *tree){ if(tree!=NULL) { putzhong(tree->l); printf("%c",tree->c); putzhong(tree->r); }}void puthou(struct node *tree){ if(tree!=NULL) { puthou(tree->l); puthou(tree->r); printf("%c",tree->c); }}int sum;void ye(struct node *tree)//求叶子个数{ if(tree==NULL)return ; if(tree->l==NULL&&tree->r==NULL) { sum++; } ye(tree->l); ye(tree->r);}int depth(struct node*tree)//求深度{ int dr,dl; if(tree==NULL)return 0; else { dl=depth(tree->l); dr=depth(tree->r); return (dl>dr?dl:dr)+1; }}int main(){ struct node *tree; tree=xianb(tree);//有tree未定义的警告,但代码是对的,警告可忽略 putzhong(tree); printf("\n"); puthou(tree); printf("\n"); sum=0; ye(tree); printf("%d\n",sum); printf("%d\n",depth(tree)); return 0;}
0 0
- 二叉树sdutoj1303
- 二叉树、二叉堆
- 二叉树
- 二叉树
- 二叉树
- 二叉树
- 二叉树
- 二叉树
- 二叉树
- 二叉树
- 二叉树
- 二叉树
- 二叉树
- 二叉树
- 二叉树
- 二叉树
- 二叉树
- 二叉树
- zTree之checkbox选中事件---获取状态改变的结点
- C语言--------逗号表达式分析一:
- HDOJ 4745 Two Rabbits DP
- 分页计算总页数算法
- 编程:含有全局变量的程序阅读(1)
- 二叉树sdutoj1303
- Linux 下载文件命令
- 杭电2014——青年歌手大奖赛_评委会打分
- 安卓自定义View,实时绘图保存为图片
- Linux下的压缩解压缩命令详解
- SVM(一) 问题的提出
- Microsoft Office VBA ActiveX编程的JScript实现
- 享元模式
- java自学之路-----Servlet_Cookie,Session