使用此引导程序:
template <class Comparable>
const Comparable& AugmentedBinarySearchTree<Comparable>::NthElement(int n)
{
int *i = 0;
return NthElement(root, i, n)->element;
}
如何使用nodesVisited
指针在BST中找到第n个节点以跟踪已检查的节点?
template <class Comparable>
BinaryNode<Comparable>* AugmentedBinarySearchTree<Comparable>::
NthElement(BinaryNode<Comparable> *t, int *nodesVisited, int n) const
{
}
BST中的每个节点都有一个指针left
和right
以及一个名为template <class Comparable>
的{{1}}值。
答案 0 :(得分:0)
对我来说(从您的评论中)听起来像是在寻找Boost的多索引容器(http://www.boost.org/doc/libs/1_59_0/libs/multi_index/doc/index.html)。您将拥有矢量和地图视图,并使用push_back插入到矢量视图中,同时使用地图视图按键搜索。然后,您将使用向量视图来获取插入第n个元素。