JavaShuo
欄目
標籤
雜七雜八——C#實現二叉樹,外帶中序遍歷
時間 2020-01-16
標籤
雜七雜八
c#
實現
二叉樹
外帶
遍歷
欄目
C#
简体版
原文
原文鏈接
發現用C#語法實現數據結構的時候,代碼顯得乾淨利落,嘻嘻。
using
System;
namespace
BinaryTree
{
// Binary Tree的結點類
class
Node
{
public
int
Data {
get
;
set
; }
public
Node LeftSubNode {
get
;
set
; }
public
Node RightSubNode {
get
;
set
; }
// 結點爲本身追加子結點(與向左/向右追加結合,造成遞歸)
public
void
Append(Node subNode)
{
if
(subNode.Data <=
this
.Data)
{
this
.AppendLeft(subNode);
}
else
{
this
.AppendRight(subNode);
}
}
// 向左追加
public
void
AppendLeft(Node subNode)
{
if
(
this
.LeftSubNode ==
null
)
{
this
.LeftSubNode = subNode;
}
else
{
this
.LeftSubNode.Append(subNode);
}
}
// 向右追加
public
void
AppendRight(Node subNode)
{
if
(
this
.RightSubNode ==
null
)
{
this
.RightSubNode = subNode;
}
else
{
this
.RightSubNode.Append(subNode);
}
}
// 結點顯示本身的數據
public
void
ShowData()
{
Console.WriteLine(
"Data={0}"
,
this
.Data);
}
}
// Binary Tree類
class
Tree
{
// 根結點
public
Node Root {
get
;
set
; }
// 以某結點爲起點,插入結點
public
void
Insert(Node newNode)
{
if
(
this
.Root ==
null
)
{
this
.Root = newNode;
}
else
{
this
.Root.Append(newNode);
}
}
// 重載,默認以根結點爲起點插入
public
void
MidTravel()
{
this
.MidTravel(
this
.Root);
}
// 中序遍歷(遞歸)
public
void
MidTravel(Node node)
{
if
(node.LeftSubNode !=
null
)
{
this
.MidTravel(node.LeftSubNode);
}
node.ShowData();
if
(node.RightSubNode !=
null
)
{
this
.MidTravel(node.RightSubNode);
}
}
}
class
Program
{
static
void
Main(
string
[] args)
{
Tree tree =
new
Tree();
tree.Insert(
new
Node { Data = 3 });
tree.Insert(
new
Node { Data = 6 });
tree.Insert(
new
Node { Data = 2 });
tree.Insert(
new
Node { Data = 7 });
tree.Insert(
new
Node { Data = 18 });
tree.MidTravel();
}
}
}
// 水之真諦
// [url]http://blog.csdn.net/FantasiaX[/url]
相關文章
1.
二叉樹及先序遍歷二叉樹,中序遍歷二叉樹,後序遍歷二叉樹
2.
Python實現二叉樹的前序遍歷、中序遍歷
3.
二叉樹中序遍歷
4.
二叉樹遍歷之中序遍歷
5.
94. 二叉樹的中序遍歷/C++
6.
C#實現二叉樹遍歷
7.
二叉樹遍歷算法C++實現
8.
C++二叉樹實現+遍歷
9.
C#實現二叉樹的遍歷
10.
二叉樹遍歷-c實現
更多相關文章...
•
XML DOM 遍歷節點樹
-
XML DOM 教程
•
PHP 雜項 函數
-
PHP參考手冊
•
C# 中 foreach 遍歷的用法
•
☆基於Java Instrument的Agent實現
相關標籤/搜索
雜七雜八
遍歷二叉樹
LeetCode-二叉樹
二叉樹
七七八八
遍歷
排序(C++實現)
二十七八
複雜
應用數學
C#
C#教程
紅包項目實戰
Spring教程
C#
註冊中心
0
分享到微博
分享到微信
分享到QQ
每日一句
每一个你不满意的现在,都有一个你没有努力的曾经。
最新文章
1.
CVPR 2020 論文大盤點-光流篇
2.
Photoshop教程_ps中怎麼載入圖案?PS圖案如何導入?
3.
org.pentaho.di.core.exception.KettleDatabaseException:Error occurred while trying to connect to the
4.
SonarQube Scanner execution execution Error --- Failed to upload report - 500: An error has occurred
5.
idea 導入源碼包
6.
python學習 day2——基礎學習
7.
3D將是頁遊市場新賽道?
8.
osg--交互
9.
OSG-交互
10.
Idea、spring boot 圖片(pgn顯示、jpg不顯示)解決方案
本站公眾號
歡迎關注本站公眾號,獲取更多信息
相關文章
1.
二叉樹及先序遍歷二叉樹,中序遍歷二叉樹,後序遍歷二叉樹
2.
Python實現二叉樹的前序遍歷、中序遍歷
3.
二叉樹中序遍歷
4.
二叉樹遍歷之中序遍歷
5.
94. 二叉樹的中序遍歷/C++
6.
C#實現二叉樹遍歷
7.
二叉樹遍歷算法C++實現
8.
C++二叉樹實現+遍歷
9.
C#實現二叉樹的遍歷
10.
二叉樹遍歷-c實現
>>更多相關文章<<