如果构建我自己的二叉树,那么我可以找到每个节点的深度。 示例代码如下
template<class datatype>
void binary_node<datatype>::printNodeWithDepth(int currentNodeDepth)
{
if ( left )
left->printNodeWithDepth(currentNodeDepth+1);
std::cout << value << " and the depth is " << currentNodeDepth << std::endl;
if ( right)
right->printNodeWithDepth(currentNodeDepth+1);
}
但是想知道,因为map是b-tree,是否可以为std::map
编写与此类似的内容?
答案 0 :(得分:7)
std::map
不能保证是一个b树,它只能保证至少具有良好的运行时复杂性。为了打开其他潜在实现的大门,该接口不包括用于检查此类实现细节的函数。 :)