我正在尝试将节点推入节点指针队列,以采用遍历二叉树的迭代方法,但是这样做时会遇到编译错误(找不到成员或该节点不是结构或没有匹配的成员)功能错误)。
如何将节点推入该队列?那有可能吗?我已经尝试将n.get()
,n
和n->get()
作为参数,但没有用。
bool Treemap<K,V>::ContainsValue(const Node *n, const V &value){
std::queue<Node*> qu;
qu.push(n.get());
Node *qn = qu.front();
while (!qu.empty()){
int count = qu.size();
while (count > 0){
if(qn->value == value){
return true;
}
qu.pop();
if(qn->left){
qu.push(n->left.get());
}else if(qn->right){
qu.push(n->right.get());
}
count--;
}
}
return false;
}