WEB开发网
开发学院软件开发C语言 数据结构与算法(C#实现)系列---广义树(一) 阅读

数据结构与算法(C#实现)系列---广义树(一)

 2004-02-07 12:44:58 来源:WEB开发网   
核心提示:数据结构与算法(C#实现)系列---广义树(一)Heavenkiller(原创)广义树和基本树的主要区别就是有任意的度using System;using System.Collections;namespace DataStructure{ /// <summary> /// GeneralTree 的摘

数据结构与算法(C#实现)系列---广义树(一)

Heavenkiller(原创)

广义树和基本树的主要区别就是有任意的度

using System;
using System.Collections;
namespace DataStructure

{
   /// <summary>

/// 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

      {
          treeList[(int)_index]=value;

      }
     }

Tags:数据结构 算法 实现

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接