当前位置:   article > 正文

二叉树递归C实现_c语言 二叉树 插入数据 递归

c语言 二叉树 插入数据 递归

重点内容
本文是简单的用递归的方法实现了二叉树

虽然看似是C++ 实际上使用C的风格完成的
之后会补上C++的代码。

二叉树的节点建立

typedef char ElemType;

#define END '#'

typedef struct BtNode
{
    ElemType data;   //数据域
    BtNode *leftchild;//左孩子
    BtNode *rightchild;//右孩子
}BtNode, *BinaryTree;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  1. 对于二叉树首先我们得实现三种遍历

    先序遍历/前序遍历

void PreOrder(BtNode *p)
{
    if (p != NULL)
    {
        cout << p->data << endl;
        PreOrder(p->leftchild);
        PreOrder(p->rightchild);
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

中序遍历

void InOrder(BtNode *p)
{
    if (p != NULL)
    {
        InOrder(p->leftchild);
        cout << p->data << endl;
        InOrder(p->rightchild);
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

后序遍历

void PostOrder(BtNode *p)
{
    if (p != NULL)
    {
        PostOrder(p->
  • 1
  • 2
  • 3
  • 4
  • 5
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小桥流水78/article/detail/903010
推荐阅读
相关标签
  

闽ICP备14008679号