当前位置: 首页>>代码示例>>C#>>正文


C# Tree.Duplicates方法代码示例

本文整理汇总了C#中Db4objects.Db4o.Foundation.Tree.Duplicates方法的典型用法代码示例。如果您正苦于以下问题:C# Tree.Duplicates方法的具体用法?C# Tree.Duplicates怎么用?C# Tree.Duplicates使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Db4objects.Db4o.Foundation.Tree的用法示例。


在下文中一共展示了Tree.Duplicates方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: Add

 /// <summary>
 ///     On adding a node to a tree, if it already exists, and if
 ///     Tree#duplicates() returns false, #isDuplicateOf() will be
 ///     called.
 /// </summary>
 /// <remarks>
 ///     On adding a node to a tree, if it already exists, and if
 ///     Tree#duplicates() returns false, #isDuplicateOf() will be
 ///     called. The added node can then be asked for the node that
 ///     prevails in the tree using #duplicateOrThis(). This mechanism
 ///     allows doing find() and add() in one run.
 /// </remarks>
 public virtual Tree Add(Tree newNode, int cmp)
 {
     if (cmp < 0)
     {
         if (_subsequent == null)
         {
             _subsequent = newNode;
             _size++;
         }
         else
         {
             _subsequent = _subsequent.Add(newNode);
             if (_preceding == null)
             {
                 return RotateLeft();
             }
             return Balance();
         }
     }
     else
     {
         if (cmp > 0 || newNode.Duplicates())
         {
             if (_preceding == null)
             {
                 _preceding = newNode;
                 _size++;
             }
             else
             {
                 _preceding = _preceding.Add(newNode);
                 if (_subsequent == null)
                 {
                     return RotateRight();
                 }
                 return Balance();
             }
         }
         else
         {
             return newNode.OnAttemptToAddDuplicate(this);
         }
     }
     return this;
 }
开发者ID:masroore,项目名称:db4o,代码行数:57,代码来源:Tree.cs


注:本文中的Db4objects.Db4o.Foundation.Tree.Duplicates方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。