我有一個AVL樹實現。在幾個類之間共享一個AVL樹
因此,假設我有兩個類,一個解析不同類型的Apple的XML,另一個解析不同類型的Orange。
如果我在Apples_Parser.cs
類中實例化樹,我該如何使用同一棵樹來加載桔子的不同類型,這些桔子將從Oranges_Parser.cs
類加載到樹中?
這不是功課,我剛剛推廣的問題,使其更容易(無碼提供的是,我在上哪裏開始虧損)
我有一個AVL樹實現。在幾個類之間共享一個AVL樹
因此,假設我有兩個類,一個解析不同類型的Apple的XML,另一個解析不同類型的Orange。
如果我在Apples_Parser.cs
類中實例化樹,我該如何使用同一棵樹來加載桔子的不同類型,這些桔子將從Oranges_Parser.cs
類加載到樹中?
這不是功課,我剛剛推廣的問題,使其更容易(無碼提供的是,我在上哪裏開始虧損)
您可以使用一個輔助類,包含樹的一個實例,然後在Apple_parser
和Oranges_Parser
類中使用該實例。
public static class AvlFactory
{
private static AvlTree _avlTree;
public static AvlTree AvlTree{ get {return _avlTree; }}
public static void InitializeTree()
{
_avlTree = new AvlTree();
}
}
然後在Apples_Praser
或Oranges_Praser
類:
if(AvlFactory.AvlTree == null)
{
AvlFactory.InitializeTree();
}
//Codes to load data to the tree
這樣無論解析器,首先使用將實例樹,對方只是將數據添加到它。
謝謝,我認爲這是我需要的。 – Chris
解析器界面在'Apples_Parser'和'Orange_Parser'中看起來像什麼? – Lee
你想讓同一棵樹包含蘋果和橘子嗎? –