树前中后序遍历、高度、叶子节点数

5年以前  |  阅读数:160 次  |  编程语言:C 
void preorder(Tree T)
//前序
{
    if(T != NULL)
    {
        printf("%c ", T->data);
        preorder(T->lchild);
        preorder(T->rchild);
    }
}

void inorder(Tree T)
//中序
{
    if(T != NULL)
    {
        inorder(T->lchild);
        printf("%c ", T->data);
        inorder(T->rchild);
    }
}

void postorder(Tree T)
//后序
{
    if (T != NULL)
    {
        inorder(T->lchild);
        inorder(T->rchild);
        printf("%c ", T->data);
    }
}

int Max(int a, int b)
{
    return a>=b?a:b;
}

int Hight(Tree T)
{
    if(T == NULL)
    {
        return 0;
    }
    else
    {
        return Max(Hight(T->lchild), Hight(T->rchild)) + 1;
    }
}

int Node(Tree T)
{
    if (T == NULL)
    {
        return 0;
    }
    else
    {
        return Node(T->lchild)+Node(T->rchild)+1;
    }
}

TreeNode* Moveto(Tree T, char c)
{
    if(T != NULL)
    {
        if(T->data == c)
        {
            return T;
        }
        Tree T1 = Moveto(T->lchild,c);
        if (T1 != NULL)
        {
            return T1;
        }
        Tree T2 = Moveto(T->rchild,c);
        if (T2 != NULL)
        {
            return T2;
        }
    }
    else
    {
        return NULL;
    }
}

int main()
{
    Tree T = NULL;
    char* pre = "EBADCFHGIKJ";
    char* in =  "ABCDEFGHIJK";

    CreateTree(pre, in ,0, 0, 11, T);

    printf("%d\n", Hight(T));

    preorder(T);
    printf("\n");
    inorder(T);

    /*int a;
    scanf("%d", &a);*/
    getchar();
    getchar();
    return 0;
 相关文章:
PHP分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例