栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

二叉树创建和先序、中序、后序遍历

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

二叉树创建和先序、中序、后序遍历

typedef struct Tree
{
    struct Tree* LeftTree;
    struct Tree* RightTree;
    char szVal;
}TREE,*PTREE;

char* CreateStr = "ABC##DE##F##G#H##";

void CreateTree(PTREE& pTree)
{
    char ch;
    ch = *(CreateStr++);

    if(ch == '#')
    {
        pTree = NULL;
    }
    else
    {
        pTree = new TREE;
        pTree->szVal = ch;
        CreateTree(pTree->LeftTree);
        CreateTree(pTree->RightTree);
    }

}

char strPreorder[1024];
int  nPreordnIndex = 0;

void PreorderTraversal(PTREE pTree)
{
    if(pTree == NULL)
    {
        strPreorder[nPreordnIndex++]='#';
    }
    else
    {
        strPreorder[nPreordnIndex++] = pTree->szVal;
        PreorderTraversal(pTree->LeftTree);
        PreorderTraversal(pTree->RightTree);
    }
}

char strMiddleer[1024];
int  nMiddleerIndex = 0;

void MiddleTraversal(PTREE pTree)
{
    if(pTree == NULL)
    {
        strMiddleer[nMiddleerIndex++]='#';
    }
    else
    {
        MiddleTraversal(pTree->LeftTree);
        strMiddleer[nMiddleerIndex++] = pTree->szVal;
        MiddleTraversal(pTree->RightTree);
    }
}

char strPostOrder[1024];
int  nPostOrderIndex = 0;

void PostOrderTraverse(PTREE pTree)
{
    if(pTree == NULL)
    {
        strPostOrder[nPostOrderIndex++]='#';
    }
    else
    {
        PostOrderTraverse(pTree->LeftTree);
        PostOrderTraverse(pTree->RightTree);
        strPostOrder[nPostOrderIndex++] = pTree->szVal;;
    }
}

int main()
{
    PTREE pTree;
    printf("把 %s 这组数进行创建n",CreateStr);
    CreateTree(pTree);
    PreorderTraversal(pTree);
    printf("先序遍历:%sn",strPreorder);
    MiddleTraversal(pTree);
    printf("中序遍历:%sn",strMiddleer);
    PostOrderTraverse(pTree);
    printf("后序遍历:%sn",strPostOrder);
    return 0;
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/947866.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号