gpt4 book ai didi

C++指针混淆(二叉搜索树)

转载 作者:行者123 更新时间:2023-11-30 02:03:13 24 4
gpt4 key购买 nike

<分区>

struct node{
int element;
node* left;
node* right;
};

typedef node* SET;

void INSERT(int x, SET* A){
node* pA = *A;
if (pA == NULL){
pA = new node;
pA->element = x;
pA->left = NULL;
pA->right = NULL;
}
else{
if (x < pA->element){
INSERT(x,&(pA->left));
}
else if (x>pA->element){
INSERT(x, &(pA->right));
}
}
}

int main(){
node* A = NULL;
INSERT(1,&A);
cout <<A->element<<endl;
return 0;
}

上面的代码是一个简单的插入方法,它将一个元素插入到 BST 中。当我访问 A-> 元素时,我只是不断获得段默认值。非常感谢您的回答。

编辑:

哇,这个指针的东西真是令人困惑。所以当我执行 node* pA = *A 时,我想我会创建一个指向 A 位置的指针。然后当我执行 pA = new node 时,它​​会在 pA 指向的堆中创建一个节点对象,它是相同的作为 A。我说错了什么吗?

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