Что не так с моим кодом сортировки кучи на месте

Контент удален по соображениям конфиденциальности

1 ответ

Решение

Кажется, проблема заключается в индексации, индексация влево и вправо кажется неправильной

final int left = root * 2 + 1; final int right = root * 2 + 2;

здесь вы должны изменить код на

final int left = root * 2; final int right = root * 2 + 1;

Также помните, что вы должны индексировать массив от 1, а не от 0.

Другие вопросы по тегам