代码
public
class
Node
{
public int Data
{ get ; set ; }
public Node LeftNode
{ get ; set ; }
public Node RightNode
{ get ; set ; }
public void Append(Node node)
{
if ( this .Data >= node.Data)
{
this .AppendLeft(node);
}
else
{
this .AppendRight(node);
}
}
public void AppendLeft(Node node)
{
if ( this .LeftNode == null )
{
this .LeftNode = node;
}
else
{
this .LeftNode.Append(node);
}
}
public void AppendRight(Node node)
{
if ( this .RightNode == null )
{
this .RightNode = node;
}
else
{
this .RightNode.Append(node);
}
}
public void ShowData()
{
Console.WriteLine(Data);
}
}
public class BiTree
{
public Node Root
{ get ; set ; }
public void Insert(Node subNode)
{
if ( this .Root == null )
{
this .Root = subNode;
}
else
{
Root.Append(subNode);
}
}
public void MidTravel()
{
this .MidTravel(Root);
}
public void MidTravel(Node node)
{
if (node.LeftNode != null )
{
MidTravel(node.LeftNode);
}
Console.WriteLine(node.Data);
if (node.RightNode != null )
{
MidTravel(node.RightNode);
}
}
{
public int Data
{ get ; set ; }
public Node LeftNode
{ get ; set ; }
public Node RightNode
{ get ; set ; }
public void Append(Node node)
{
if ( this .Data >= node.Data)
{
this .AppendLeft(node);
}
else
{
this .AppendRight(node);
}
}
public void AppendLeft(Node node)
{
if ( this .LeftNode == null )
{
this .LeftNode = node;
}
else
{
this .LeftNode.Append(node);
}
}
public void AppendRight(Node node)
{
if ( this .RightNode == null )
{
this .RightNode = node;
}
else
{
this .RightNode.Append(node);
}
}
public void ShowData()
{
Console.WriteLine(Data);
}
}
public class BiTree
{
public Node Root
{ get ; set ; }
public void Insert(Node subNode)
{
if ( this .Root == null )
{
this .Root = subNode;
}
else
{
Root.Append(subNode);
}
}
public void MidTravel()
{
this .MidTravel(Root);
}
public void MidTravel(Node node)
{
if (node.LeftNode != null )
{
MidTravel(node.LeftNode);
}
Console.WriteLine(node.Data);
if (node.RightNode != null )
{
MidTravel(node.RightNode);
}
}