/ /誰かがこのバイナリツリーコードを説明してもらえますか[クローズ]-c ++、データ構造、バイナリツリー、ノード

誰かがこのバイナリツリーコードを私に説明できますか?[閉じる] - C ++、データ構造、バイナリツリー、ノード

ここに画像の説明を入力

私は最初のステップのみを理解しています。 * tmp =データを含むノード(7)と書かれているところ。

回答:

回答№1は6

各ステップを図にすると、何が起きているかを簡単に確認できるはずです。

  1. Node *tmp = root->right->left;

ステップ1

  1. root->right->left = tmp->right;

ステップ2

  1. tmp->right = root->right;

ステップ3

  1. root->right = tmp->left;

ステップ4

  1. tmp->left = root;

ステップ5

  1. root = tmp;

ステップ6