zoukankan      html  css  js  c++  java
  • 二叉树的实现

    代码
    /// <summary>
        
    /// 二叉树的应用
        
    /// </summary>
        
    /// <typeparam name="T"></typeparam>
        public class Node<T>
        {
            
    public T m_Item;
            
    public Node<T> m_LeftNode;
            
    public Node<T> m_RightNode;
            
    public Node(T item,Node<T> leftNode,Node<T> rightNode)
            {
                
    this.m_Item = item;
                
    this.m_LeftNode = leftNode;
                
    this.m_RightNode = rightNode;
            }

        }
        
    public class Tree<T>
        {
            Node
    <T> root;
            
    public Tree(Node<T> root)
            {
                
    this.root = root;
            }
            
    public IEnumerable<T> GetEnum
            {
                
    get
                {
                    
    return DisplayTree(root);
                }
            }
            
    public IEnumerable<T> DisplayTree(Node<T> root)
            {
                
    //遍历左子树
                if (root.m_LeftNode != null)
                    
    foreach (T item in DisplayTree(root.m_LeftNode))
                        
    yield return item;
                
    //遍历根节点
                yield return root.m_Item;
                
    //遍历右子树
                if (root.m_RightNode != null)
                    
    foreach (T item in DisplayTree(root.m_RightNode))
                        
    yield return item;
            }
        }
        
    public class CreateTree
        {
            
    public Tree<string> tree;
            
    public CreateTree()
            {
                tree 
    = new Tree<string>(new Node<string>("A",
                      
    new Node<string>("B"nullnull),
                      
    new Node<string>("C",
                        
    new Node<string>("D"nullnull),
                        
    new Node<string>("E"nullnull))));

            }
            
    public  void Display()
            {
               
                
    foreach (string s in tree.GetEnum)
                    Console.WriteLine(s);
            }

        }
  • 相关阅读:
    VisualVM 分析full GC问题记录
    HTTPS协议、TLS协议、证书认证过程解析
    java.lang基础数据类型boolean、char、byte、short、int、long、float、double (JDK1.8)
    java.lang.StringBuilder和java.lang.StringBuffer (JDK1.8)
    MVC中自带的异步((Ajax.BeginForm)无效
    百度富文本编辑器UEDITOR
    只有在配置文件或 Page 指令中将 enableSessionState 设置为 true 时,才能使用会话状态。还请确保在应用程序配置的 // 节中包括 System.Web.SessionSta
    【知识碎片】CSS 篇
    js 将json字符串转换为json对象的方法解析
    【知识碎片】Asp.Net 篇
  • 原文地址:https://www.cnblogs.com/hubcarl/p/1706406.html
Copyright © 2011-2022 走看看