こんにちは私はバイナリ検索ツリーにノードを挿入するためにdeferenceを使用しようとしました。しかし、私は今私が挿入機能に詰まっていると思う。私は挿入機能を思い出すときに間違いを犯したと思う。だから、誰でも私のコードに何が間違っているのか教えてくれます。ありがとう。dereferenceを使用してC++バイナリ検索ツリー
struct BstNode {
int data;
BstNode *left;
BstNode *right;
};
BstNode *GetNewNode(int);
void Insert(BstNode **, int);
void Insert(BstNode **root, int data)
{
if(*root == NULL){
*root = GetNewNode(data);
}
else if(data <= root){
Insert(*(root -> left), data);
}
else {
Insert(*(root -> right), data);
}
BstNode *GetNewNode(int data)
{
BstNode *newNode = new BstNode();
newNode->data = data;
newNode->left = newNode->right = NULL;
return newNode;
}
int main()
{
BstNode *root = NULL;
Insert(&root,15);
Insert(&root,10);
Insert(&root,20);
return 0;
}
あなたが意味することを詳しく説明できますか「つまらない」?コンパイラエラー?プログラムは動作しますが、決して停止しませんかコードを書く方法を理解できませんか? – 1201ProgramAlarm
@Shawn W Wこの条件はelse if(data <= root){は意味がありません。 –