回答編集履歴
1
説明追加
test
CHANGED
@@ -1,3 +1,3 @@
|
|
1
1
|
サイトのコードにある`if (array[large] <= array[parent]) { break;}`に相当する処理が行われていないのが原因です。
|
2
2
|
|
3
|
-
`array[left] > array[parent]`がfalseの場合、つまり`array[left] <= array[parent]`の場合は`break;`で抜けなければならないのに、`// elseの場合は何もしない`とコメントにあるように抜けずにそのままループを続けるので、同じ処理を永遠に続けることになります。
|
3
|
+
`array[left] > array[parent]`がfalseの場合、つまり`array[left] <= array[parent]`の場合は`break;`で抜けなければならないのに、`// elseの場合は何もしない`とコメントにあるように抜けずにそのままループを続けるので、`parent`が更新されないままループの先頭に戻り、同じ処理を永遠に続けることになります。
|