二叉树无效函数
Binary Tree void function
嘿伙计们,我应该编写一个函数,将给定的节点插入我的BT根。 插入节点后,树应保持BST的标准。 我的函数返回一个错误,指出"void 值未被忽略,因为它应该在递归定义中。请给我一个提示,有什么问题。
void InsertNode(Node* root, Node* node){
if(root == NULL) {
root = node;
}
else if(node->value <= root->value ){
root->left = InsertNode(root->left,node);
}
else{
root->right = InsertNode(root->right,node);
}
return ;
}
那么我如何分配此结构的给定节点:
struct Node{
int value;
Node* left;
Node* right;
};
到空树根?
void InsertNode(Node* root, Node* node){
if (node->value==root->value) return;
if(node->value < root->value){
root->left = node;
node->left++;
}
if (node->value>root->value){
root->right = node;
node->right++;
}
}
所以现在我对我的函数有了这个想法,增加两个指针以穿过树是否正确?
您正在尝试将void
分配给变量。 这对编译器没有意义。
顺便说一句,你的函数无论如何都不起作用。 将node
分配给root
不会执行任何超出InsertNode
函数正文的操作。
相关文章:
- 为什么将值返回函数传递给重载=运算符对运算符函数有效,而对其他运算符无效
- 程序中的布尔函数返回输入的范围无论如何都是无效的
- 在这个函数中是有缺陷的,因为取消引用 null 是无效的,所以我想更改代码
- 在 Microsoft Access SQL 中调用自定义 DLL 函数时传递的内存地址无效
- C++无效的函数类型转换
- C++无效使用非静态成员函数?
- 模板和无效函数调用C++
- 错误: 无效使用非静态数据成员"应用程序::应用程序构造函数"
- 无效打印(矢量<string>)函数未打印
- 在 stream_descriptor::async_wait 中无效使用非静态成员函数
- C26486 - 不向函数传递可能无效的指针?
- 为什么构造函数的虚拟函数调用有时有效,但其他调用却无效
- 调用boost v1.58中的函数时出现模板名称使用无效错误
- 使用 vector.sort() 的非静态成员函数无效使用
- 将数组传递给构造函数无效
- 使用auto参数munmap_chunk()返回auto的函数:无效指针
- Boost::函数绑定的成员函数无效
- 为什么在模板类中声明函数无效?
- 使用非英语文件名调用avio_open函数无效
- Android NDK线程使用非静态成员函数无效