在计算机科学中,树是一种重要的非线性数据结构,直观地看,它是数据元素(在树中称为结点)按分支关系组织起来的结构。二叉树是每个节点最多有两个子树的有序树。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树常被用于实现二叉查找树和二叉堆。
如下是实现创建二叉树和二叉树中序遍历的代码:
1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <memory.h> 4 5 typedef struct _tree_node{ 6 char data; 7 struct _tree_node * left; 8 struct _tree_node * right; 9 struct _tree_node * father; 10 }tree_node; 11 12 void createTree(tree_node * root); 13 void inorderTraverseTree(tree_node * pRoot); 14 15 int main() 16 { 17 tree_node root; 18 memset(&root, 0 , sizeof(tree_node)); 19 printf(