二叉树的创建,遍历完整代码

简介: 二叉树的创建,遍历完整代码
 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 
 4 typedef struct TreeNode{
 5     int value;
 6     struct TreeNode* Left;
 7     struct TreeNode* Right;
 8 }TreeNode;
 9 
10 void printTree(TreeNode* T, int depth);
11 
12 TreeNode *CreatTree()
13 {
14     TreeNode * T = (TreeNode*)malloc(sizeof(TreeNode));
15     int val;
16     scanf_s("%d", &val);
17     if (val == 0)
18         return NULL;
19     T->value = val;
20     T->Left = T->Right = NULL;
21     T->Left = CreatTree();
22     T->Right = CreatTree();
23     
24     return T;
25     
26 }
27 
28 void InOrderTraversal(TreeNode* T, int depth)
29 {
30     if (T)
31     {
32         InOrderTraversal(T->Left, depth + 1);
33         printTree(T, depth);
34         InOrderTraversal(T->Right, depth + 1);
35     }
36 }
37 
38 void printTree(TreeNode* T, int depth)
39 {
40     while (depth--)
41         printf("  ");
42     printf("%d\n", T->value);
43 }
44 
45 int main()
46 {
47     TreeNode *T ;
48     T = CreatTree();
49     InOrderTraversal(T, 0);
50 
51     return 0;
52 }
相关文章
|
6月前
|
IDE 开发工具
遍历思路与子问题思路:详解二叉树的基本操作(二)
这篇内容介绍了二叉树的基本操作,包括通过遍历和子问题思路来解决不同的问题。
37 0
遍历思路与子问题思路:详解二叉树的基本操作(二)
|
6月前
遍历思路与子问题思路:详解二叉树的基本操作 (一)
这篇内容介绍了二叉树的基本概念和操作,包括二叉树的结构定义以及一些基本操作如前序遍历、中序遍历、后序遍历、获取树中节点个数等。
48 0
|
6月前
|
算法 数据处理 Python
深入理解二叉树:结构、遍历和实现
深入理解二叉树:结构、遍历和实现
深入理解二叉树:结构、遍历和实现
|
JavaScript
52 # 二叉树的前中后遍历
52 # 二叉树的前中后遍历
34 0
|
存储 算法
二叉树的创建和遍历
二叉树(Binary tree)是树形结构的一个重要类型。许多实际问题抽象出来的数据结构往往是二叉树形式,即使是一般的树也能简单地转换为二叉树,而且二叉树的存储结构及其算法都较为简单,因此二叉树显得特别重要。二叉树特点是每个节点最多只能有两棵子树,且有左右之分
92 0
|
存储 算法 编译器
探索二叉树:结构、遍历与应用
什么是二叉树? 二叉树是一种由节点组成的层次结构,其中每个节点最多有两个子节点,分别称为左子节点和右子节点。这种结构使得二叉树在存储和搜索数据时非常高效。二叉树的一个特殊情况是二叉搜索树(Binary Search Tree,BST),它满足左子节点的值小于父节点,右子节点的值大于父节点,这种特性使得在BST中进行查找操作更加高效。
105 0
|
机器学习/深度学习 C++ 容器
C++实现的二叉树创建和遍历,超入门邻家小女也懂了
C++实现的二叉树创建和遍历,超入门邻家小女也懂了
96 0
|
机器学习/深度学习 C++ 容器
二叉树创建和遍历(C++实现)
树(Tree)是n(n≥0)个节点的有限集。在任意一棵树中有且仅有一个特定的称为根(Root)的节点;当n>1时,其余节点可分m(m>0)为个互不相交的有限集T1,T2,...,Tm;其中每一个集合本身又是一棵树,并且称为根的子树(SubTree)。 二叉树(Binary Tree)是一种特殊的有序树型结构,所有节点最多只有2棵子树。
662 0
|
存储 编译器
二叉树的递归遍历与迭代遍历(图示)
本文将讲述二叉树递归与迭代的相关知识。
130 0
二叉树的三种遍历方式
二叉树的三种遍历方式
234 0
二叉树的三种遍历方式