2013-12-12 73 views
0

我想增加一個提升RB Tree。我設法創建了我的節點結構並將其插入到RB樹中。擴展提升樹

現在我想在發生旋轉時添加其他功能。實質上,我想操縱正在旋轉的節點中的某些值。我想我可以將這個功能插入到tree_algorithms::rotate_right和tree_algorithms :: rotate_left函數中。

我不熟悉擴展Boost類......而且這些函數甚至不是類的成員(我可以擴展然後覆蓋該方法) - 它是一個靜態函數。那麼,我怎麼能擴大這個功能,或者用我自己的口味代替呢?

+0

Boost中任何地方的「詳細」命名空間下的任何東西都不能直接使用,因爲它們可能會以某種方式從發行版變爲發行版,如果您這樣做會破壞代碼。 – polkadotcadaver

回答

0

現在,我能夠使用node :: set_left_node和node :: set_right_node方法完成我想要的功能。這並不理想,因爲需要在兩個旋轉節點上執行我想要執行的動作僅需要(實際發生旋轉時)。相反,該動作將針對涉及任何類型移動的所有節點執行。