简单二叉树操作
2016-08-21 21:39
302 查看
二叉树的先序、中序、后序操作
#include <stdio.h> #include <malloc.h> typedef struct Tree { char a; struct Tree * LeftTree; struct Tree * RigthTree; }T; T * Creat(); //生成一个二叉树 void PreShowTree(T * pT); //先序访问 void InShowTree(T * pT); //中序访问 void PostShowTree(T * pT); //后序访问 int main() { T * pT = Creat(); printf("先序遍历:\n"); PreShowTree(pT); printf("中序遍历:\n"); InShowTree(pT); printf("后序遍历:\n"); PostShowTree(pT); return 0; } void PreShowTree(T * pT) { if( NULL != pT ) { printf("%c\n", pT->a); if( NULL != pT->LeftTree ) PreShowTree( pT->LeftTree ); if( NULL != pT->RigthTree ) PreShowTree( pT->RigthTree ); } } void InShowTree(T * pT) { if( NULL != pT ) { if( NULL != pT->LeftTree) InShowTree( pT->LeftTree ); printf("%c\n", pT->a); if( NULL != pT->RigthTree) InShowTree( pT->RigthTree); } } void PostShowTree(T * pT) { if( NULL != pT ) { if( NULL != pT->LeftTree) PostShowTree( pT->LeftTree ); if( NULL != pT->RigthTree) PostShowTree( pT->RigthTree); printf("%c\n", pT->a); } } T * Creat() { T * pA = (T *)malloc(sizeof(T)); T * pB = (T *)malloc(sizeof(T)); T * pC = (T *)malloc(sizeof(T)); T * pD = (T *)malloc(sizeof(T)); T * pE = (T *)malloc(sizeof(T)); pA->a = 'A'; pB->a = 'B'; pC->a = 'C'; pD->a = 'D'; pE->a = 'E'; pA->LeftTree = pB; pA->RigthTree = pC; pB->LeftTree = pB->RigthTree = NULL; pC->LeftTree = pD; pC->RigthTree = NULL; pD->LeftTree = NULL; pD->RigthTree = pE; pE->LeftTree = pE->RigthTree = NULL; return pA; }
相关文章推荐
- 【数据结构上机练习】6. 二叉树的简单操作(1)
- 二叉树的简单操作(前中后序遍历,层次遍历,树高,叶子数,交换二叉树等)
- 二叉树的简单操作
- 以下是关于二叉树操作的11个简单算法
- 数据结构之二叉树的简单操作
- 二叉树的遍历算法实现、以及所有简单操作
- 简单的二叉树实现与操作...
- 二叉树的一些简单操作
- 遍历二叉树的各种操作(转载的,真心觉得后序遍历用双栈法好简单啊)
- Python - 二叉树简单操作
- 二叉树的简单操作
- 【数据结构上机练习】7. 二叉树的简单操作(2)
- 二叉树的一些简单操作
- 二叉树的简单操作
- 二叉树的简单操作(c++实现)
- 【数据结构】二叉树的简单操作及简单应用
- 二叉树简单操作(下)
- 二叉树的简单操作
- 二叉树的简单操作
- 二叉树简单操作