数据结构与算法(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 { }
using System.Collections;
namespace DataStructure
/// <summary>
treeList[(int)_index]=value;
}