设为首页 加入收藏

TOP

二叉树、前序遍历、中序遍历、后序遍历(二)
2019-08-13 05:39:23 】 浏览:89
Tags:后序遍
p; PreOrderTraverse(t->lchild, level + 1);
    PreOrderTraverse(t->rchild, level + 1);
}


中序遍历:首先遍历左子树,然后访问根节点,最后遍历右子树(左->根->右)


顺序:中序遍历左子树->访问根节点->中序遍历右子树


/* 以递归方式 中序遍历二叉树 */
void PreOrderTraverse(BiTree t, int level)
{
    if (t == NULL)   
    {
        return ;
    }
    PreOrderTraverse(t->lchild, level + 1);
    printf("data = %c level = %d\n ", t->data, level);
    PreOrderTraverse(t->rchild, level + 1);
}


后序遍历:首先遍历左子树,然后遍历右子树,最后访问根节点(左->右->根)


顺序:后序遍历左子树->后序遍历右子树->访问根节点


/* 以递归方式 后序遍历二叉树 */
void PreOrderTraverse(BiTree t, int level)
{
    if (t == NULL)   
    {
        return ;
    }
    PreOrderTraverse(t->lchild, level + 1);
    PreOrderTraverse(t->rchild, level + 1);
    printf("data = %c level = %d\n ", t->data, level);
}


从上面可以看出,三种遍历方式极其相似,只是语句 printf("data = %c level = %d\n ", t->data, level);的位置发生了变化


首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇C语言 队列(链式队列) 下一篇C语言参数传递(值传递、地址传递..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目