質問するログイン新規登録

回答編集履歴

1

誤り訂正

2019/11/06 14:48

投稿

otn
otn

スコア86374

answer CHANGED
@@ -25,7 +25,8 @@
25
25
  //削除対象ノードの下に子ノードが0個ならばNULLをセット。
26
26
  if (pDeleteNode->pRight == NULL && pDeleteNode->pLeft == NULL) pChildNode = NULL;
27
27
  //それ以外のケースは削除対象ノードの下に子ノードが1個なのでそれをセット
28
+ else pChildNode = pDeleteNode->pRight ? pDeleteNode->pRight : pDeleteNode->pLeft;
28
- else pChildNode = pDeleteNode->pRight || pDeleteNode->pLeft;
29
+ //間違っていた → else pChildNode = pDeleteNode->pRight || pDeleteNode->pLeft;
29
30
 
30
31
  //子ノードへのポインタを、方向指示に対応して現ノードの左右ポインタのどちらかに入れる。
31
32
  if (direction == RIGHT) pNode->pRight = pChildNode;