会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
Grisson's .net
源码之前,了无秘密
博客园
::
首页
::
新随笔
::
联系
::
订阅
::
管理
公告
c#数据结构———二叉查找树
using
System;
namespace
BinaryTreeLibrary
{
/**/
///
创建的是二叉查找树,没有重复的结点值
///
特点:左支树中任何值都小于父结点值,右结点任何值大于父结点值
public
class
TreeNode
{
private
TreeNode leftNode;
private
TreeNode rightNode;
private
int
data;
public
TreeNode(
int
nodeData)
{
data
=
nodeData;
leftNode
=
rightNode
=
null
;
//
没有子树
}
public
TreeNode LeftNode
{
get
{
return
leftNode;
}
set
{
leftNode
=
value;
}
}
public
TreeNode RightNode
{
get
{
return
rightNode;
}
set
{
rightNode
=
value;
}
}
public
int
Data
{
get
{
return
data;
}
set
{
data
=
value;
}
}
public
void
Insert(
int
insertValue)
//
创建结点
{
if
(insertValue
<
data)
{
if
(leftNode
==
null
)
leftNode
=
new
TreeNode(insertValue);
else
leftNode.Insert(insertValue);
}
else
if
(insertValue
>
data)
{
if
(rightNode
==
null
)
rightNode
=
new
TreeNode(insertValue);
else
rightNode.Insert(insertValue);
}
}
}
public
class
Tree
{
private
TreeNode root;
public
Tree()
{
root
=
null
;
}
public
void
InsertNode(
int
insertValue)
//
创建树
{
lock
(
this
)
{
if
(root
==
null
)
root
=
new
TreeNode(insertValue);
else
root.Insert(insertValue);
}
}
public
void
PreorderTraversal()
//
前序遍历
{
lock
(
this
)
{
PreorderHelper(root);
}
}
private
void
PreorderHelper(TreeNode node)
//
采用了递归
{
if
(node
==
null
)
return
;
Console.Write(node.Data
+
"
"
);
PreorderHelper(node.LeftNode);
PreorderHelper(node.RightNode);
}
public
void
InorderTraversal()
//
中序遍历
{
lock
(
this
)
{
InorderHelper(root);
}
}
public
void
InorderHelper(TreeNode node)
{
if
(node
==
null
)
return
;
InorderHelper(node.LeftNode);
Console.Write(node.Data
+
"
"
);
InorderHelper(node.RightNode);
}
public
void
PostorderTraversal()
//
后序遍历
{
lock
(
this
)
{
PostorderHelper(root);
}
}
public
void
PostorderHelper(TreeNode node)
{
if
(node
==
null
)
return
;
PostorderHelper(node.LeftNode);
PostorderHelper(node.RightNode);
Console.Write(node.Data
+
"
"
);
}
}
}
posted on
2005-08-30 18:41
海盗
阅读(
398
) 评论(
0
)
收藏
举报
刷新页面
返回顶部
博客园
© 2004-2025
浙公网安备 33010602011771号
浙ICP备2021040463号-3