繁体   English   中英

在多个类之间共享AVL树

[英]Sharing an AVL Tree Between Several Classes

我实现了AVL树。

因此,假设我有两个类,一个类通过不同类型的Apple的XML解析,另一个类通过不同类型的Orange进行解析。

如果我在Apples_Parser.cs类中实例化该树,那么如何使用同一棵树来加载从Oranges_Parser.cs类加载到树中的不同类型的桔子?

这不是家庭作业,我只是概括了这个问题以使其变得更容易(尚无代码可提供,我对从何处开始感到困惑)

您可以使用一个包含树实例的帮助程序类,然后在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

通过这种方式,首先使用的解析器将实例化该树,而其他解析器仅向其添加数据。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM