本文整理汇总了C++中TreeNode::GetSize方法的典型用法代码示例。如果您正苦于以下问题:C++ TreeNode::GetSize方法的具体用法?C++ TreeNode::GetSize怎么用?C++ TreeNode::GetSize使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TreeNode
的用法示例。
在下文中一共展示了TreeNode::GetSize方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: SeparateVertices
void SeparateVertices(vector<VertexId>& output, size_t size) {
TreeNode<VertexId>* node = root_.GetSubtreeWithSize(min(size, GetSize()));
if (node == 0) {
node = &root_;
}
output.reserve(node->GetSize());
CollectValues(node, output);
}
示例2: GetSubtreeWithSize
TreeNode* GetSubtreeWithSize(const size_t size) {
// find big enough child.
auto it = std::find_if(children_.begin(), children_.end(), SizePred(size));
if (it == children_.end()) {
return 0;
}
TreeNode* node = (*it)->GetSubtreeWithSize(size);
if (node == 0) {
node = *it;
children_.erase(it);
}
subtree_size_ -= node->GetSize();
return node;
}