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

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

編輯:關於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