如何解决指针变量的地址和对象的地址在c ++中如何相同BST实现
void insertBST(BST &T,int newKey){
Node *q = nullptr;
Node *p = &T.root;
while (p != nullptr){
int i = 0;
if (newKey == p->key){
return;
}
q = p; // **q indicates parent node of P**
if (newKey < p->key){
p = p->leftNode;
}
else {
p = p->rightNode;
}
}
Node newNode = getNode(); // **dont kNow why newNode's addr is same with q's**
newNode.key = newKey;
newNode.leftNode = nullptr;
newNode.rightNode = nullptr;
if (T.root.key == 0){
T.root = newNode;
}
else if (newKey < q->key){
q->leftNode = &newNode;
}
else if (newKey > q->key) {
q->rightNode = &newNode;
}
return;
}
我正在尝试使用c ++实现二进制搜索树,但是我仍然坚持实现插入。 newNode'地址与指针'q'的地址相同。我不知道我做错了什么。我想念什么吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。