|   
 数据结构与算法(C#实现)系列---广义树(一) Heavenkiller(原创) 广义树和基本树的主要区别就是有任意的度 using System; { /// GeneralTree 的摘要说明。 /// general tree is a tree which has a arbitrary degree and no empty tree /// use ArrayList to replace ListAsLinkedList /// </summary> public class GeneralTree:Tree { protected object key=null; protected uint degree=0; //protected uint height=0; 
 protected ArrayList treeList=new ArrayList(); 
 public GeneralTree(object _objKey) { // // TODO: 在此处添加构造函数逻辑 // 
 key=_objKey; degree=0; // height=0; ArrayList treeList=new ArrayList(); } 
 public virtual void AttackSubtree(GeneralTree _gTree) { this.treeList.Add(_gTree); ++degree; } public virtual GeneralTree DetachSubtree(GeneralTree _gTree) { 
 this.treeList.Remove(_gTree); degree--; 
 return _gTree;//????? how to remove ,reference or object???? } 
 public override Tree this[uint _index] { get { if(_index>=this.degree) throw new Exception("my:out of index"); return (Tree)treeList[(int)_index]; } set               {               }  | 
温馨提示:喜欢本站的话,请收藏一下本站!