Я пытаюсь вставить узел в очередь указателей узлов для итеративного подхода к обходу двоичного дерева, но при этом я получаю ошибки компиляции (элемент не найден или этот узел не является структурой или не соответствует элементуошибки функции).
Как вставить узел в эту очередь?Это вообще возможно?Я пробовал 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;
}