これまで何百万回も尋ねられていたかもしれませんが、何が問題なのか分かりません。私はインターネット上でコードを使用したくないので、私の心に何があるのかをプログラムしようとしました。どちらかまたは私の印刷機能が間違っています。下のコードに何か問題はありますか?バイナリ検索ツリーの挿入C++
void addNode(int value)
{
Node* newNode=new Node;
newNode->data=value;
if(root==NULL)
root=newNode;
else {
Node* temp=root,*parent;
while(temp!=NULL)
{
parent=temp;
if(temp->data == value)
return;
else if(temp->data < value)
temp=temp->left;
else
temp=temp->right;
}
temp=newNode;
}
}
ノードの 'left'または' right'メンバーを決して割り当てません。 –
私は 'temp = temp-> left'と 'temp = temp-> right'を使用しています。それは数えませんか? – Ali
@rolandbishop:いいえ。これはローカル変数を変更して別のノードを参照しますが、挿入ポイントが見つかるとツリーを変更しません。 –