本次作业是建立二叉树并输出叶结点

(1)首先是定义结点,包括左孩子,右孩子

typedef struct
{
int lch;//左孩子
int rch;//右孩子
}Node;

(2)建立二叉树

 cin>>N;
bool check[100]={false};
for(int i=0;i<N;i++)
{
cin>>x>>y;
if(x!='-')
{
t[i].lch=x-'0';//字符对应数字的ASCII码与0相减,转换成整数类型
check[t[i].lch]=true;
}
else {t[i].lch=-1;}

  定义bool类型数组,初始为false,若t[i].lch不为‘-’,则check[t[i].lch]赋值为true

输入左孩子,为字符型,x-‘-’与ASCII码0相减使其转化为整型,可作为check数组的下标

右孩子则是与左孩子相同操作

for(int i=;i<N;i++)
{
if(!check[i])
{
return i;//未出现过的数即为树的根节点
}
}

用check数组找出未出现的数,该数即为根节点

  queue<int>q;//建立队
q.push(x);//根节点所在下标入队

在遍历二叉树的函数中,是通过队先进先出的特点来对二叉树进行遍历

    if((t[temp].lch == -) && (t[temp].rch == -))

以上情况则为结点的左右孩子都为空,即为叶结点,可输出

若不为空,则用q.push()对结点进行入队操作

    if(t[temp].lch != -)//左结点不为空时,入队
q.push(t[temp].lch);
if(t[temp].rch != -)//右结点不为空时,入队
q.push(t[temp].rch);

本次作业题主要是上课看老师的讲解,课后再自己进行细化,最终得出可以提交成功的代码。

觉得自己有想法,但用代码实现的能力却有限,希望多加锻炼,以此获得更大的提高。

随机推荐

  1. nltk-贝叶斯分类器

    本人小白一枚,专业统计,之前做过质量工程,现转行将近一年,开始记录我的学习过程及踩过的坑. 第一篇:用贝叶斯分类器(本文使用NLTK中的NaiveBayesClassifier)将5000多个样本进行 ...

  2. Python OS模块,和Open函数

    https://www.cnblogs.com/ginvip/p/6439679.html

  3. Java爬虫——常用的maven依赖

    java实现爬虫常用的第三方包: httpclient,for http jsoup,for dom rhino,for js jackson,for json pom.xml摘录 <depen ...

  4. 云栖大会day1 上午

    参与云栖大会第一天感受 早晨参与内容 数据智能实践专场 议程是 09:00-09:25 互联网下半场用户增长之路 吕志国 [友盟+]CPO 09:25-09:50 数据开启智慧零售的升级引擎 刘延明 ...

  5. 关于Qrc文件的用法

    在python文件xxx.py中调用资源文件,一般来说,需要将资源放在xxx.py的相同目录下:然而,当在xxx.py下建立一个统一目录/rec则需要建立xxx.qrc文件才能让xxx.py调用,调用 ...

  6. 2.数据库的基本操作<针对于库层面的操作>

    1.查看已有数据库: MySQL [(none)]> show databases; +--------------------+ | Database | +----------------- ...

  7. K8s快速入门

    在k8s中所有的内容都抽象为资源,资源实例化之后,叫做对象.一般使用yaml格式的文件来创建符合我们预期期望的pod,这样的yaml文件我们一般称为资源清单 资源清单的格式: apiVersion: ...

  8. linux 文件压缩与解压

    zip格式: zip -r(源文件是目录) [目标文件] [源文件] unzip -d [解压到的目录] [要解压的文件] gz格式: gzip [源文件]   #会删除源文件 gzip -c [源文 ...

  9. [原创] debian 9.3 搭建Jira+Confluence+Bitbucket项目管理工具(一) -- 安装jdk(含jre)及 MySql 5.6.39

    [原创] debian 9.3 搭建Jira+Confluence+Bitbucket项目管理工具(一)  --  安装jdk(含jre)及 MySql 5.6.39 回老家已经有一段时间了, 四五线 ...

  10. 大型分布式架构设计与实现-第一章SOA(面向服务的体系架构)

    拜读了大型分布式架构设计与实现,觉得该书作为入门不错,但内容过于简单,描述过于琐碎,小节之间连续性不强,不适合深入钻研学习.但为了更多的希望向架构师行业靠拢的工程师学习需要,本博客将对上书进行简化讲解 ...