gpt4 book ai didi

c++ - 如何将 const 转换为非常量

转载 作者:太空宇宙 更新时间:2023-11-04 13:43:20 25 4
gpt4 key购买 nike

我得到了以下函数来编写

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;
};

最佳答案

template <class T>
T BinarySearchTree<T>::getMinimum() const {
Node * minNode;
getMinimumHelper(_root, minNode);
return minNode->data;
};

关于c++ - 如何将 const 转换为非常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26942975/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com