Exemple #1
0
void zhongxu(BiTree T)
{ 
    if(T){ 
        zhongxu(T->lchild); 
        printf("%c",T->data); 
        zhongxu(T->rchild); 
    } 
}
//中序遍历二叉树
void zhongxu (PNODE p)
{
    if (NULL == p)
    {
        return ;
    }
    else
    {
        zhongxu(p->Pleft);
        printf ("%d  " ,p->a);
        zhongxu(p->Pright);
        return ;
    }
}
int main ()
{
    PNODE p = goujian(3);//构造一个指针向根节点
    //先序便利原来的
    xianxu(p);
    printf ("\n");
    //中序便利原来的
    zhongxu(p);
    printf ("\n");
    //反转
    fanzhuan(p);

    xianxu(p);
    printf ("\n");
    zhongxu(p);
    printf ("\n");

    return 0;
}
Exemple #4
0
void main()
{
    BiTree T;
    int sum,dep;
    printf("please input data: ");
    T=Create(T);
    printf("xianxu: ");
    Preorder(T);
    printf("\n");
    printf("zhongxu: ");
    zhongxu(T);
    printf("\n");
    printf("houxu: ");
    houxu(T);
    printf("\n");
}
Exemple #5
0
int main()
{ 
    BiTree T = NULL; 
    int sum,dep;
    T = Create(T); 
    Preorder(T); 
    printf("\n"); 
    zhongxu(T); 
    printf("\n"); 
    houxu(T); 
    printf("\n"); 
    sum=Sumleaf(T); 
    printf("%d",sum); 
    dep=Depth(T); 
    printf("\n%d",dep); 
    return 0;
}