zoukankan
html css js c++ java
二叉树遍历:先序、中序、后序和层次遍历
public
class
BinaryNode
{
public
int
Data;
public
BinaryNode Left;
public
BinaryNode Right;
}
public
class
BinaryTree
{
public
void
PreOrder(BinaryNode node)
{
if
(node
!=
null
)
{
Console.WriteLine(node.Data);
PreOrder(node.Left);
PreOrder(node.Right);
}
}
public
void
MidOrder(BinaryNode node)
{
if
(node
!=
null
)
{
MidOrder(node.Left);
Console.WriteLine(node.Data);
MidOrder(node.Right);
}
}
public
void
AfterOrder(BinaryNode node)
{
if
(node
!=
null
)
{
AfterOrder(node.Left);
AfterOrder(node.Right);
Console.WriteLine(node.Data);
}
}
public
void
LayerOrder(BinaryNode node)
{
if
(node
!=
null
)
{
CurrentLayer(node.Left);
CurrentLayer(node.Right);
LayerOrder(node.Left);
LayerOrder(node.Right);
}
}
private
void
CurrentLayer(BinaryNode node)
{
if
(node
!=
null
)
{
Console.WriteLine(node.Data);
}
}
}
测试:
BinaryNode n1
=
new
BinaryNode();
n1.Data
=
27
;
BinaryNode n2
=
new
BinaryNode();
n2.Data
=
83
;
BinaryNode n3
=
new
BinaryNode();
n3.Data
=
123
;
BinaryNode n4
=
new
BinaryNode();
n4.Data
=
98
;
BinaryNode n5
=
new
BinaryNode();
n5.Data
=
94
;
BinaryNode n6
=
new
BinaryNode();
n6.Data
=
48
;
BinaryNode n7
=
new
BinaryNode();
n7.Data
=
61
;
n1.Left
=
n2;
n1.Right
=
n3;
n1.Left.Left
=
n4;
n1.Left.Right
=
n5;
n1.Right.Right
=
n6;
n1.Right.Right.Left
=
n7;
BinaryTree bTree
=
new
BinaryTree();
Console.WriteLine(
"
Pre Order Binary Tree:
"
);
bTree.PreOrder(n1);
Console.WriteLine(
"
Midd Order Binary Tree:
"
);
bTree.MidOrder(n1);
Console.WriteLine(
"
After Order Binary Tree:
"
);
bTree.AfterOrder(n1);
Console.WriteLine(
"
Layer Order Binary Tree:
"
);
bTree.LayerOrder(n1);
Console.ReadLine();
查看全文
相关阅读:
sublime less css less-plugin-clean-css lessc
matplotlib 中文显示问题
关闭edge新标签页广告
刷写网卡MAC地址
tar打包命令
Print Spooler服务意外停止
使用cmd命令为windows添加环境变量
wps多用户使用问题
屏蔽知乎登录弹窗
Excel中无法移动分页符
原文地址:https://www.cnblogs.com/silva/p/1091806.html
最新文章
linux配置LAMP(CentOS7.4 Apache2.4 PHP5.6)
robot framework引用databaselibrary
Python break语句,就像在C语言中,打破了最小封闭for或while循环
jenkins插件下载地址http://updates.jenkins-ci.org/download/plugins/
执行newman命令报错
python 库安装
newman 命令行
https://jdbc.postgresql.org/download.html#current
https://stackoverflow.com/questions/64220696/does-timescaledb-use-exactly-the-same-jdbc-drivers-as-postgresql-or-not
https://www.w3school.com.cn/js/js_string_methods.asp
热门文章
DBeaver下载:https://dbeaver.io/
Jmeter进行webSocket接口测试
django mysql
cmd requests.ge 乱码
添加新的spider导致的spider not found 和 compass 看不到手动创建的collections
linux 近期常用的操作命令
django+nginx+uwsgi+django
mongodb 排序输出 if no direction is specified, key_or_list must be an instance of list
mongodb 将字符串格式改为整数
django 3.0 文档学习笔记
Copyright © 2011-2022 走看看