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();
查看全文
相关阅读:
取最小未用的账号
Oracle 同义词
RMAN备份报 RMAN-06059 错误
Oracle11g memory_target
基础记录
uboot启动流程
android有关生命周期探讨
can协议
java虚拟机
内存管理机制
原文地址:https://www.cnblogs.com/silva/p/1091806.html
最新文章
为什么你总是学不好Linux技术?这是我的答案。
总结4点对学习Linux有帮助的建议(纯干货)
Linux系统值得一看的学习方法及路线图
总结四条对学习Linux系统有帮助的方法
LVM逻辑卷的扩充
Linux ISCSI配置
centos-系统删除多余网卡的方法
Linux sar命令
Oracle锁处理脚本
FP回写阶段卡住或报错
热门文章
Oracle-SQL程序优化4
Oracle-SQL程序优化3
Oracle删除表空间报ORA01548
NBU5240备份系统还原数据库--Linux版
Apache Maven —— Maven安装与配置
直面问题,不要逃避
《少有人走的路:心智成熟的旅程》
Java代码规范
《高效程序员的45个习惯:敏捷开发修炼之道》
一些感悟,一些关键词…
Copyright © 2011-2022 走看看