2015-08-08 58 views
0

我有一個AVL樹實現。在幾個類之間共享一個AVL樹

因此,假設我有兩個類,一個解析不同類型的Apple的XML,另一個解析不同類型的Orange。

如果我在Apples_Parser.cs類中實例化樹,我該如何使用同一棵樹來加載桔子的不同類型,這些桔子將從Oranges_Parser.cs類加載到樹中?

這不是功課,我剛剛推廣的問題,使其更容易(無碼提供的是,我在上哪裏開始虧損)

+0

解析器界面在'Apples_Parser'和'Orange_Parser'中看起來像什麼? – Lee

+0

你想讓同一棵樹包含蘋果和橘子嗎? –

回答

0

您可以使用一個輔助類,包含樹的一個實例,然後在Apple_parserOranges_Parser類中使用該實例。

public static class AvlFactory 
{ 
    private static AvlTree _avlTree; 
    public static AvlTree AvlTree{ get {return _avlTree; }} 
    public static void InitializeTree() 
    { 
     _avlTree = new AvlTree(); 
    } 
} 

然後在Apples_PraserOranges_Praser類:

if(AvlFactory.AvlTree == null) 
{ 
    AvlFactory.InitializeTree(); 
} 
//Codes to load data to the tree 

這樣無論解析器,首先使用將實例樹,對方只是將數據添加到它。

+0

謝謝,我認爲這是我需要的。 – Chris