Johnny with dotnet

数据结构之二叉树

 

代码
 public class Node
    {
        
public int Data
        { 
getset; }
        
public Node LeftNode
        { 
getset; }
        
public Node RightNode
        { 
getset; }
        
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
        { 
getset; }
        
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);
            }
        }

 

 

posted on 2010-07-12 16:54  JohnnyNet  阅读(122)  评论(0编辑  收藏  举报

导航