建立乙個泛型二叉樹類,任何型別都可以構建二叉樹,乙個約束條件這個型別具有比較大小的功能。
1. 建立類庫binarytree。
2. 實現tree泛型類,
public class treewhere titem: icomparable
system.icomarable介面,要求實現compareto方法,與system.icomarable介面相比,就是泛型引數和object模擬較的關係,不存在型別的轉換的不安全性。
3. 定義樹的屬性
//節點
public titem nodedata
//左子樹
public treelefttree
//右子樹
public treerighttree
4. 實現構造器
//構造器
public tree(titem nodevalue)
5. 實現插入節點,參考《學習c#泛型概述,乙個二叉樹的資料結構》
//插入節點
public void insert(titem newitem)
else
}else
else}}
6. 實現訪問節點,參考《學習c#泛型概述,乙個二叉樹的資料結構》
//訪問節點
public string walktree()
//訪問節點
result += $"";
//訪問右子樹
if (this.righttree != null)
return result;
}
7.測試程式,在測試控制台應用程式中引用上面生成的程式集
using binarytree;
測試**:
static void main(string args)
");}
執行結果:排序輸出了!
注意:上面的walk方法中,少新增了乙個逗號,你發現了嗎?
泛型實現二叉樹
參考資料 visual c 2010 從入門到精通 18.3.2 使用泛型構造二叉樹類 using system using system.collections.generic using system.linq using system.text namespace binarytreetest...
C 泛型概述(二)
首先我們看看泛型怎麼寫,我們先從乙個類開始 class genericity泛型不僅僅可以使用在類上面,還可以用在字段和方法中 class genericity 泛型帶返回值的方法,返回data陣列的第乙個值 public t getdata 泛型無返回值,帶參方法,給陣列第乙個位置賦值 publi...
c 泛型學習 二
2.繼承和泛型 1using system 2using system.collections.generic 3using system.text 45namespace vs2005demo2 610 public class subclass baseclass 11 1213 14 publ...