【问题标题】:Extending boost tree扩展提升树
【发布时间】:2013-12-12 19:19:11
【问题描述】:

我想增加一个 Boost RB Tree。我已经设法创建了我的节点结构并将其插入到 RB 树中。

现在我想在旋转发生时添加额外的功能。本质上,我想操纵正在旋转的节点中的某些值。我想我可以将此功能插入到 tree_algorithms::rotate_right 和 tree_algorithms::rotate_left 函数中。

我不熟悉扩展 Boost 类...而且这些函数甚至不是类的成员(我可以对其进行扩展然后覆盖该方法)——它是一个静态函数。那么我怎样才能增强该功能或用我自己的风格替换它呢?

【问题讨论】:

  • Boost 中任何地方的“detail”命名空间下的任何东西都不打算直接使用,因为它们可能会随着版本的变化而改变,如果你这样做的话会破坏代码。

标签: c++ boost tree


【解决方案1】:

现在,我可以使用 node::set_left_node 和 node::set_right_node 方法完成我想要的工作。这并不理想,因为我想要执行的操作 ONLY 需要在两个旋转节点上执行(当实际发生旋转时)。相反,将对参与任何类型移动的所有节点执行该操作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多