首页 > 代码库 > C语言递归实现二叉树的先序、中序、后序遍历

C语言递归实现二叉树的先序、中序、后序遍历

#include <stdio.h>  
#include <stdlib.h>  
//*****二叉树的二叉链表存储表示*****//  
typedef struct BiNode  
{  
    char data;  
    struct BiNode *lchild, *rchild;  
}BiNode, *BiTree;  

//*****按先序次序输入二叉树中结点的值(一个字符),空格字符表示空树构造二叉链表表示的二叉树T*****//   
void CreateBiTree(BiTree &T)          
{                                     
    char ch;  
    scanf("%c", &ch);  
    if(ch == ' ')  
    {  
        T = NULL;  
    }  
    else  
    {  
        if(!(T = (BiNode *)malloc(sizeof(BiNode))))   
        {  
            return;  
        }  
        T->data = http://www.mamicode.com/ch;                    //生成根结点  >

以例如以下二叉树为例,给出按先序次序输入二叉树中结点的值(字符),从而依照本文给出的算法构造二叉树。

技术分享

输入字符的顺序是:-+a空格空格*b空格空格-c空格空格d空格空格/e空格空格f空格空格,就可以验证本文提供的遍历算法。

C语言递归实现二叉树的先序、中序、后序遍历