C#算法
第一题:
using System;
using System.Collections;
using System.Collections.Generic;
namespace Zgsoft.Collections.Generic
{
     //说明:
     //以下为一个树的节点的定义,假定:除了需要填写的代码外,其他属性和方法均已实现。
     //要求:写出一个树节点的前序遍历和后序遍历代码。
     public class ZgTreeNode<T> : IEnumerable<T>, IEnumerable
     {
         public ZgTreeNode(T value);  //构造函数
         public int Count { get; }   //孩子数目
         public ZgTreeNode<T> FirstChild { get; }  //第一个孩子
         public ZgTreeNode<T> LastChild { get; }   //最后一个孩子
         public ZgTreeNode<T> NextSibling { get; } //弟弟
         public ZgTreeNode<T> PreviousSibling { get; }  //哥哥
         public ZgTreeNode<T> Parent { get; }          //父亲
         public T Value { get; }                 //节点存储的对象
         public ZgTreeNode<T> AddChild(T value);   //增加孩子
         public ZgTreeNode<T> AddSibling(ZgTreeNode<T> newNode);  //增加弟弟
         public void PreorderTraveral(Action<T> action)   //前序遍历
         {
             /* 说明:前序遍历的含义:首先执行自身,然后顺序执行孩子(第一个,第二个...),然后执行孩子的孩子,依次类推。 在这里写上相应的代码*/
         }
         public void PostorderTraveral(Action<T> action)   //后序遍历
         {
             /*****************************************************
               说明:后序遍历的含义:首先“从小到大”执行后代,然后执行自身。在这里写上相应的代码
              *******************************************************/
         }
     }
}  
------解决方案--------------------
你说你要什么样的控件吧,大家帮你推荐推荐
另外你这个少个最重要的  孩子
另外只需要一个增加方法即可,不需要增加孩子什么的
只要一个带参数的 (孩子object,父节点object)
基本上这个结构不是很好