码迷,mamicode.com
首页 > 其他好文 > 详细

二叉树的创建与遍历

时间:2019-04-27 09:46:55      阅读:159      评论:0      收藏:0      [点我收藏+]

标签:结果   http   cout   typedef   order   bin   else   post   out   

简介

技术图片

代码

二叉树存储结构

typedef struct node
{
    char data;//数据域
    struct node* lchild;//左孩子指针域
    struct node* rchild;//右孩子指针域
}BTNode;

创建二叉树

BTNode* creatbintree()//前序创建二叉树
{
    BTNode* p;
    char c;
    cin >> c;
    if (c == '0')   p = NULL;//0表示空节点
    else
    {
        p = new BTNode;
        p->data = c;
        p->lchild = creatbintree();
        p->rchild = creatbintree();
    }
    return p;
}

遍历二叉树

1.先序遍历

void PreOrder(BTNode* p)//先序遍历
{
    if (p)
    {
        cout << p->data << " ";
        PreOrder(p->lchild);
        PreOrder(p->rchild);
    }
}

2.中序遍历

void InOrder(BTNode* p)//中序遍历
{
    if (p)
    {
        InOrder(p->lchild);
        cout << p->data << " ";
        InOrder(p->rchild);
    }
}

3.后序遍历

void PostOrder(BTNode* p)//后序遍历
{
    if (p)
    {
        PostOrder(p->lchild);
        PostOrder(p->rchild);
        cout << p->data << " ";
    }
}

运行结果

技术图片

二叉树的创建与遍历

标签:结果   http   cout   typedef   order   bin   else   post   out   

原文地址:https://www.cnblogs.com/wjchen99/p/10777527.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!