文档章节

c++实现树的遍历,初学者

cyleft
 cyleft
发布于 2017/05/16 12:11
字数 151
阅读 3
收藏 0
#include <iostream>

using namespace std;
typedef char TElemType;
typedef struct BiTNode{
    TElemType data;
    struct BiTNode *lchild,*rchild;
}BiTNode,*BiTree;

void InOrderTraverse(BiTree T){
    if(T){
        cout<<T->data<<" ";
        InOrderTraverse(T->lchild);
        InOrderTraverse(T->rchild);
    }
}
void CreateBiTree(BiTree &T){
    TElemType ch;
    cin>>ch;
    if((ch=='0'))T=NULL;
    else{
        T = new BiTNode;
        T->data = ch;
        CreateBiTree(T->lchild);
        CreateBiTree(T->rchild);
    }
}

void Copy(BiTree T,BiTree &NewT){
    if(T==NULL){
        NewT = NULL;
        return;
    }
    else{
        NewT = new BiTNode;
        NewT->data = T->data;
        Copy(T->lchild,NewT->lchild);
        Copy(T->rchild,NewT->rchild);
    }
}

int Depth(BiTree T){
    int m,n;
    if(T==NULL) return 0;
    else{
        m = Depth(T->lchild);
        n = Depth(T->rchild);
        if(m>n) return (m+1);
        else return (n+1);
    }
}

int main()
{
    BiTree T1,T2;
    CreateBiTree(T1);
    InOrderTraverse(T1);
    cout<<Depth(T1)<<endl;
    Copy(T1,T2);
    InOrderTraverse(T2);
    return 0;
}

 

© 著作权归作者所有

cyleft
粉丝 1
博文 30
码字总数 9912
作品 0
九江
程序员
私信 提问
《数据结构与算法系列》合集整理

《数据结构与算法系列》合集整理 整理来自博客园skywang12345,以下摘自作者介绍: “最近抽空整理了"数据结构和算法"的相关文章。在整理过程中,对于每种数据结构和算法分别给出"C"、"C++"...

kaixin_code
2018/12/01
185
0
LeetCode算法练习——深度优先搜索 DFS

更多干货就在我的个人博客 BlackBlog.tech 欢迎关注! 也可以关注我的csdn博客:黑哥的博客 谢谢大家! 网上大部分LeetCode的代码都没有给出注释和解释,对于新手学习很不方便。笔者在这里尽...

BlackBlog__
2018/07/30
0
0
C语言/C++编程新手入门基础知识整理学习

C语言是面向过程的,而C++是面向对象的 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到...

小辰带你看世界
2018/04/01
0
0
几种数据存储结构详解

影响空间规模的几种数据存储结构 正文 所谓数据存储结构,就是数据的元素与元素之间在计算机中的一种表示,它的目的是为了解决空间规模问题,或者是通过空间规模问题从而间接地解决时间规模问...

长平狐
2012/11/12
795
1
程序员高薪之路的五大误区

转载:中国IT实验室 我始终认为,对一个初学者来说,IT界的技术风潮是不可追赶。我时常看见自己的DDMM们把课本扔了,去卖些价格不菲的诸如C#, VB.Net 这样的大部头,这让我感到非常痛心。而许...

刘利民
2009/08/25
275
0

没有更多内容

加载失败,请刷新页面

加载更多

全球第一时间响应:Rancher发布2.3.1,支持K8S CVE修复版本

北京时间2019年10月17日,Kubernetes发布了新的补丁版本,修复了新近发现的两个安全漏洞:CVE-2019-11253和CVE-2019-16276。Rancher第一时间响应,就在当天紧随其后发布了Rancher v2.3.1和R...

RancherLabs
11分钟前
2
0
EMQ X 规则引擎系列 (八)桥接消息到 MQTT Broker

桥接概念 桥接是一种连接多个 EMQ X 或者其他 MQTT 消息中间件的方式。不同于集群,工作在桥接模式下的节点之间不会复制主题树和路由表。桥接模式所做的是: 按照规则把消息转发至桥接节点;...

EMQX
15分钟前
3
0
《2019年上半年云上企业安全指南》详解安全建设最易忽视的问题!

《2019年上半年云上企业安全指南》是阿里云基于对云安全中心监测到的威胁情报进行分析,形成的一份云上企业安全建设指南。通过对云上企业安全建设现状及多维度威胁情报的分析,得出企业安全建...

开源中国小二
15分钟前
2
0
一天之际在于晨之KMP算法

(我觉得不需要明白原理,应该是在面试或者工作的时候,该想到用什么算法以及之后直接赋值我这里的代码就好了) 下面的情况我们第一时间考虑想到的是用KMP算法。 情况一:// ts字符串是否包...

木九天
18分钟前
2
0
如何通过反射机制创建对象?

// 获取类路径的完全限定名 String classname = "test.Interval"; // 通过类的完全限定名获取类对象 Class pClass = Class.forName(classname); // 通过类对象获取类的构造器对象 Constructo......

happywe
18分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部