二叉树的创建,遍历完整代码
Posted hi3254014978
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二叉树的创建,遍历完整代码相关的知识,希望对你有一定的参考价值。
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 ", T->value); 43 } 44 45 int main() 46 { 47 TreeNode *T ; 48 T = CreatTree(); 49 InOrderTraversal(T, 0); 50 51 return 0; 52 }
以上是关于二叉树的创建,遍历完整代码的主要内容,如果未能解决你的问题,请参考以下文章
通过遍历序列构造二叉树(扩展二叉树的先序先序和中序后序和中序层序和中序)附可执行完整代码
数据结构二叉树的基础操作( 1.创建二叉树2.先序遍历3.中序排序4.后序遍历 5.层序遍历6. 统计节点的数目 7.交换左右子树 8.计算并输出该二叉树的深度)