gpt4 book ai didi

C++ 指针问题

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

我在使用以下代码时遇到问题。我是一名试图自学 C++ 的 Java 开发人员。主要是我在 main() 中的代码没有向根节点插入任何内容。谁能帮我。我确定我的指示有问题。

class Node{
public:
Node* left;
Node* right;
int data;

Node(int n){
data = n;
right = NULL;
left = NULL;
}
};

class BST{

Node* root;

public:

BST(){
root = NULL;
}

void insert(int e){
pinsert(root, e);
}

void pinsert(Node* sr, int e){
if(sr == NULL){
sr = new Node(e);
}
else{
if((sr->data) > e ){
pinsert(sr->left, e);
}
else{
pinsert(sr->right, e);
}
}
}
};


int main(){
BST tree;
tree.insert(6);
tree.insert(7);
}

最佳答案

您按值传递 sr 并分配给它。这不会改变你的 root。而是通过引用传递它:

void pinsert( Node*& sr, int e)

关于C++ 指针问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12664501/

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