我已经获得了以下函数来编写
T getMinimum() const {}
我必须使用以下帮助函数
void getMinimumHelper(Node * subtree, Node * &Location) const {}
但是,我从来不知道如何传递这样的函数。我有一个二进制搜索树类,节点作为BST类的成员。我尝试过很多东西,比如
Node * minNode = this->Node;
Node minNode = this->getMinimumHelper(findMin, findMin);
return minNode->data;
辅助功能:
void getMinimumHelper(Node * subtree, Node * &Location) const {
if (subtree == NULL){
Location = NULL;
}
if (subtree->left == NULL){
Location = subtree;
}
else{
getMinimumHelper(subtreeRoot->left, subtree);
}
}
然而,我作为' - >'的右侧是非法的 当然,辅助函数无论出于何种原因都是空的,所以它实际上并没有返回任何东西。我已经工作了好几个小时,并没有取得任何进展,也无法解决这个问题。我有更多这样的辅助函数函数,我不知道该怎么做。
类别:
template <class T>
class {
private:
class Node {
public:
T data;
Node * left;
Node * right;
Node * parent;
Node() :left(NULL), right(NULL), parent(NULL) {};
Node(const T& item) {
data = item;
left = NULL;
right = NULL;
parent = NULL;
};
};
public:
BST();
BST(BST&);
~BST();
bool isEmpty() const;
bool search(const T&) const;
private:
Node * _root;
void getMaximumHelper(Node *, Node * &) const;
void getMinimumHelper(Node *, Node * &) const;
};
答案 0 :(得分:0)
template <class T>
T BinarySearchTree<T>::getMinimum() const {
Node * minNode;
getMinimumHelper(_root, minNode);
return minNode->data;
};