Удаление динамического массива ссылок
Для работы с 2 веточным древом добавил функцию поиска по значению,при попытке удаления памяти крашится
int Tree::find(Branch *curr,int data,int level = 1,Branch **arr = new Branch*[1],int count = 0) {
if(curr->left != nullptr || curr->right != nullptr){arr[level - 1] = curr;exp(arr, level, level);}
if (curr->left != nullptr)count += find(curr->left, data, level + 1,arr);
if (curr->right != nullptr)count += find(curr->right, data, level + 1,arr);
if (curr->data == data) {
cout << level << ":";
for (int f = 0; f < level - 1; f++)cout << arr[f] << "->";
cout << curr->data << endl;
count++;
}
delete[] arr[level - 1];//само удаление
return count;
}
Массив удаляется не полностью из-за надобности в последующих уровнях. Сам массив arr представляет собой последовательный набор ссылок на елементы древа для визуальной последовательности при выводе и понимая где находится ветвь. level - переменная указывающая на уровень древа. Branch *curr - ссылка на объект(элемент) дерева