私はBSTの次の実装を持っています:
struct BstNode
{
int value;
BstNode* leftSubnode;
BstNode* rightSubnode;
BstNode(int value)
{
this->value = value;
this->leftSubnode = this->rightSubnode = nullptr;
}
};
struct BstTree
{
BstNode* root;
};
ご覧のとおり、前任者(現在のノードの親)へのポインターがありません。追加/表示メソッドの実装に問題はありませんが、構造からノードを削除する方法がわかりません。左右のノードへのポインタしかない場合、それを行う可能性はありますか?BstTree
すべてのメソッドは、構造に対してではなく、構造に対して実装する必要があることに注意してくださいBstNode
(教師から受け取ったタスクのため)。