學習C 泛型概述,構建二叉樹的泛型類

2021-10-04 02:15:23 字數 1261 閱讀 5736

建立乙個泛型二叉樹類,任何型別都可以構建二叉樹,乙個約束條件這個型別具有比較大小的功能。

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