二叉树递归遍历的简易实现

   日期:2020-11-03     浏览:94    评论:0    
核心提示:二叉树递归遍历的简易实现无基础知识介绍举例说明的二叉树功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入无基础知识介绍你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器,

二叉树递归遍历的简易实现

    • 举例说明的二叉树代码
    • 我的二叉树长如图所示
    • 测试结果

大家好这是我第一次用markdown工具写博客,本文主要提供了一个超级简单的c++实现二叉树遍历的算法举例, 有效代码也就50行左右

举例说明的二叉树代码

环境是c++,下面是我的代码,代码放入c++中即可运行

#include "pch.h"
#include <iostream>
#include <stdlib.h>
#include <string.h>
struct BinaryNode
{ //数据域
    char ch;
    //指针域
    struct BinaryNode* lChild;
    struct BinaryNode* rChild;
};
//前序遍历
void recursionpreorder (struct BinaryNode * root) { 
    if (root == nullptr)
        return;
    printf_s("%c ", root->ch);
    recursionpreorder(root->lChild);
    recursionpreorder(root->rChild);
}

//中序遍历
void recursionmidorder(struct BinaryNode * root) { 
    if (root == nullptr)
        return;
    recursionmidorder(root->lChild);
    printf_s("%c ", root->ch);
    recursionmidorder(root->rChild);}
    //后续遍历
void recursionlastorder(struct BinaryNode * root) { 
    if (root == nullptr)
        return;
    recursionlastorder(root->lChild);
    recursionlastorder(root->rChild);
    printf_s("%c ", root->ch);}
void test01() { 
    struct BinaryNode nodeA = {  'A',nullptr,nullptr };
    struct BinaryNode nodeB = {  'B',nullptr,nullptr };
    struct BinaryNode nodeC = {  'C',nullptr,nullptr };
    struct BinaryNode nodeD = {  'D',nullptr,nullptr };
    struct BinaryNode nodeE = {  'E',nullptr,nullptr };
    struct BinaryNode nodeF = {  'F',nullptr,nullptr };
    struct BinaryNode nodeG = {  'G',nullptr,nullptr };
    struct BinaryNode nodeH = {  'H',nullptr,nullptr };
    //建立关系
    nodeA.lChild = &nodeB;
    nodeA.rChild = &nodeF;
    nodeB.lChild = &nodeC;
    nodeC.lChild = &nodeD;
    nodeC.rChild = &nodeE;
    nodeF.lChild = &nodeG;
    nodeG.lChild = &nodeH;
    printf_s("先序遍历的结果为:");
    recursionpreorder(&nodeA);
    printf_s("\r\n中序遍历的结果为:");
    recursionmidorder(&nodeA);
    printf_s("\r\n后序遍历的结果为:");
    recursionlastorder(&nodeA);
}
int main()
{ 
    test01();
    
}

我的二叉树长如图所示

测试结果


好了以上就是我全部博客的内容,完结撒花!

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服