List Leave
本次作业是建立二叉树并输出叶结点
(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);
本次作业题主要是上课看老师的讲解,课后再自己进行细化,最终得出可以提交成功的代码。
觉得自己有想法,但用代码实现的能力却有限,希望多加锻炼,以此获得更大的提高。
随机推荐
- sqoop 问题以及 小tips
1. Sqoop import 任务里把原来NULL的转化成字符串‘null’了. 解决方法: 先: alter table ${table_name} SET SERDEPROPERTIES('se ...
- CI/CD
CI/CD 啥是CI/CD CI: continuous integration, 持续集成.就是频繁地把开发的工作提交到主线代码.主要是为了解决集成问题.什么是集成问题呢,白话说,就是从你本地的代码 ...
- 一些最常见的SNMP的OID自动翻译成zabbix数字进行表示(华为9306)
转载自:https://blog.51cto.com/davidbj/1173954 随着Zabbix 2.0版本的发布,很多企业开始用zabbix来代替之前的Nagio.Cacti等其它监控软件.至 ...
- Echarts修改提示框及自定义提示框内容
1:首先先定义自定义的json数据 var msg = [{ 'tell':'110', 'ContentMessage':"我今天去吃大餐" },{ 'tell':'111', ...
- 李清华201772020113《面向对象程序设计(java)》第十三周学习总结
1.实验目的与要求 (1) 掌握事件处理的基本原理,理解其用途: (2) 掌握AWT事件模型的工作机制: (3) 掌握事件处理的基本编程模型: (4) 了解GUI界面组件观感设置方法: (5) 掌握W ...
- Python学习笔记---数 数据类型 运算
python的四种数类型: 整数 int 浮点型 float 布尔 boolen 复数 complex >>> type(5)<class 'int'>>>& ...
- Java 非递归实现 二叉树的前中后遍历以及层级遍历
class MyBinaryTree<T> { BinaryNode<T> root; public MyBinaryTree() { root = new BinaryNod ...
- if判断,switch语句
if ; else if; else; 判断操作: 格式示例: public class scanner { public static void main(String[] args){ int a ...
- LINUX系统日常使用命令
一.开关机命令1.shutdown -h now 关闭系统2.init 0 关闭系统3.telinit 0 关闭系统4.shutdown -h hours:minutes 按预定时 ...
- Linux实操篇
一:用户管理.群组管理 增: 1.指定群组添加账户: groupadd test 创建test用户组useradd -g test(用户组) xiaoming(用户名) ---- 创建us ...