По какой-то причине мой метод sortByDuration не позволит мне вызвать метод remove для распечатки элементов в моей куче во время их удаления. Цель этого - просто отсортировать кучу; это действительно не имеет значения, что я его удаляю.Я пытаюсь сортировать массив через heapSort и его не работает
public static Song[] sortByDuration(Song[] songs)//sorts the heap
{
for(int i=size;i>0;i--)
System.out.print(songs.remove()+" ");
return songs;
}
и это мой способ удалить
public Song remove()//removes
{
Song retVal = peek();
heap[0] = heap[size-1];
heap[size-1] = null;
size--;
bubbleDown();
return retVal;
}
ошибка в операторе печати моего метода удалить Спасибо ребята
Ошибка будет хорошим дополнением на ваш вопрос –
Распечатайте значение размера перед запуском этого цикла. Вероятно, 0 –
его ошибка компиляции, не может вызывать remove() на типе типа массива – cvirus96