Я занимаюсь написанием двоичных деревьев поиска и пытаюсь написать метод для преобразования моего BST в массив (без предварительного преобразования в ArrayList).По некоторым причинам, только половина массива «заполняется», при этом значения располагаются в неправильном порядке, а остальные индексы массива устанавливаются в ноль.Я не могу понять, где я иду не так здесь.Пожалуйста, ведите меня, я новичок!
public Object[] toArray() {
Object arr[] = new Object[size];
return fillArrayInorder(root, arr, 0);
}
private Object[] fillArrayInorder(Node<E> node, Object[] arr, int index) {
if (node != null) {
fillArrayInorder(node.left, arr, index);
arr[index++] = node;
fillArrayInorder(node.right, arr, index);
}
return arr;
}