程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 數據結構與算法(C#實現)系列---廣義樹(一)

數據結構與算法(C#實現)系列---廣義樹(一)

編輯:關於C語言
廣義樹和基本樹的主要區別就是有任意的度





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;

}

}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved