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

简介: 二叉树的创建,遍历完整代码
 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 }
相关文章
|
7月前
|
算法 数据处理 Python
深入理解二叉树:结构、遍历和实现
深入理解二叉树:结构、遍历和实现
深入理解二叉树:结构、遍历和实现
力扣203移除链表元素:思路分析+代码实现+方法总结(伪头节点法&递归)
力扣203移除链表元素:思路分析+代码实现+方法总结(伪头节点法&递归)
113 0
|
存储 算法
二叉树的创建和遍历
二叉树(Binary tree)是树形结构的一个重要类型。许多实际问题抽象出来的数据结构往往是二叉树形式,即使是一般的树也能简单地转换为二叉树,而且二叉树的存储结构及其算法都较为简单,因此二叉树显得特别重要。二叉树特点是每个节点最多只能有两棵子树,且有左右之分
97 0
|
存储 算法 编译器
探索二叉树:结构、遍历与应用
什么是二叉树? 二叉树是一种由节点组成的层次结构,其中每个节点最多有两个子节点,分别称为左子节点和右子节点。这种结构使得二叉树在存储和搜索数据时非常高效。二叉树的一个特殊情况是二叉搜索树(Binary Search Tree,BST),它满足左子节点的值小于父节点,右子节点的值大于父节点,这种特性使得在BST中进行查找操作更加高效。
109 0
|
机器学习/深度学习 C++ 容器
C++实现的二叉树创建和遍历,超入门邻家小女也懂了
C++实现的二叉树创建和遍历,超入门邻家小女也懂了
104 0
|
机器学习/深度学习 C++ 容器
二叉树创建和遍历(C++实现)
树(Tree)是n(n≥0)个节点的有限集。在任意一棵树中有且仅有一个特定的称为根(Root)的节点;当n>1时,其余节点可分m(m>0)为个互不相交的有限集T1,T2,...,Tm;其中每一个集合本身又是一棵树,并且称为根的子树(SubTree)。 二叉树(Binary Tree)是一种特殊的有序树型结构,所有节点最多只有2棵子树。
720 0
二叉树的三种遍历方式
二叉树的三种遍历方式
253 0
二叉树的三种遍历方式
|
Java 测试技术
给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。(Java语言实现)
给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。(Java语言实现)
177 0
给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。(Java语言实现)
二叉树的创建,和三种递归遍历方式
二叉树的创建,和三种递归遍历方式

热门文章

最新文章