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);
本次作业题主要是上课看老师的讲解,课后再自己进行细化,最终得出可以提交成功的代码。
觉得自己有想法,但用代码实现的能力却有限,希望多加锻炼,以此获得更大的提高。
随机推荐
- python ----django---打包重用
https://www.cnblogs.com/wcwnina/p/9122469.html https://blog.csdn.net/qq_30501975/article/details/804 ...
- python 反射 hasattr getattr
class BlackMedium: feature='Ugly' def __init__(self,name,addr): self.name=name ...
- Docker 多主机方案
利用OpenVSwitch构建多主机Docker网络 [编者的话]当你在一台主机上成功运行Docker容器后,信心满满地打算将其扩展到多台主机时,却发现前面的尝试只相当于写了个Hello World的 ...
- rest_famework 增删改查初第二阶段(中级,此阶段是优化初级阶段的代码)的使用
url: re_path('authors/$', views.AuthorView.as_view()),re_path('authors/(\d+)/$', views.AuthorDetailV ...
- thinkphp5.1 使用success();和error();要注意的点
public function succ() { $this->success(); $this->error(); } 这里的$this-> 老是忘掉 记录一下
- C++的ch1&ch2的整理
C++:带泪的C,意指学C语言的时候没有好好学,在学习此门课时会流下不学无术的泪水(仅对于我个人). 计算机程序语言的发展:机器语言[计算机可以识别的二进制指令]——>汇编语言[将机器指令转化为 ...
- nodejs + express + express-session + redis
nodejs + express + express-session + redis 标题似乎又是不太对,大家领会精神哈 Express 安装express-generator,然后用它来创建一个工程 ...
- MATLAB 出一张好看的图
1.坐标轴的视点(viewpoint):从哪个方向看整个坐标系统,这决定了坐标轴的方向和位置,通过view函数实现视点的设置:view([z y ]):(将坐标系统想象为一座房子,而自己是个会飞的天使 ...
- 如何设置.net控件SplitContainer平均分配
设置SplitterDistance为宽或者高的一半
- 1503.02531-Distilling the Knowledge in a Neural Network.md
原来交叉熵还有一个tempature,这个tempature有如下的定义: \[ q_i=\frac{e^{z_i/T}}{\sum_j{e^{z_j/T}}} \] 其中T就是tempature,一 ...