[树]输出二叉树的节点层数
2016-01-11 02:19
363 查看
给出一个二叉树先序遍历序列(没有孩子用空格表示)
先序遍历输出各节点的所在层数
先序遍历输出各节点的所在层数
#include<stdio.h> #include<stdlib.h> typedef struct BinTNode { char data; struct BinTNode *lchild, *rchild; }BinTNode, *BinTree; void CreatBinTree(BinTree *T); void PreOrderTraverse(BinTree T, int level); int main() { BinTree T = NULL; int level = 1; CreatBinTree(&T); PreOrderTraverse(T, level); return 0; } void CreatBinTree(BinTree *T) //递归建立二叉树 , 约定前序输入 { char c; scanf("%c", &c); if(c == ' ') (*T) = NULL; else { *T = (BinTNode *)malloc(sizeof(BinTNode)); (*T) -> data = c; CreatBinTree(&(*T) -> lchild); CreatBinTree(&(*T) -> rchild); } } void PreOrderTraverse(BinTree T, int level) { if(T) { printf("节点 %c 位于第 %d 层\n", T -> data, level); PreOrderTraverse(T -> lchild, level+1); PreOrderTraverse(T -> rchild, level+1); } }
相关文章推荐
- redhat5.9安装filezilla3.7报错
- LeetCode Lowest Common Ancestor of a Binary Tree
- Android笔记(七十五) Android中的图片压缩
- ISO/IEC 9899:2011 条款6.9——外部定义
- BrocastReceiver初阶
- navigationBar上的一些操作
- C语言-十进制转二进输出
- Facebook POP 进阶指南
- 《C语言及程序设计初步》第33讲实践项目
- LeetCode Shortest Palindrome
- 6-子查询理解
- 视图的运行顺序及生命周期
- 如何正确地写好一个界面
- 人生就像是一段程序
- C++11多线程简单示例
- (一〇九)单独编译(多个源代码文件和头文件)
- ImageView中Bitmap的回收
- LeetCode Word Search II
- 文章标题
- 多线程临界区