Re: Видалення елементу.

Та це я так пробував для себе. В мене там щось з графами... А звільнити пам'ять можна в кінці фунції main через рекурсію? І де саме міняє структуру? Бо я щось не зрозумів що Ви маєте на увазі. Цікаво розібратись вже до кінця в даній програмі)

22

Re: Видалення елементу.

Коли програма завершиться, пам'ять і так звільниться. Проблема може бути лише якщо програма працює постійно (чи достатньо довго).
Я маю на увазі, що не треба робити

void deleteleaf(leaf** root) {
    cout << "Введіть індекс листя, яке ви хочите видалити: ";
    int num;
    cin >> num;

Треба робити щось на кшталт

void deleteleaf(leaf** root, int num) {
...
}
...
    cout << "Введіть індекс листя, яке ви хочите видалити: ";
    int num;
    cin >> num;
    deleteleaf(&root, num);

Чи навіть

int input_leaf_to_delete() {
    cout << "Введіть індекс листя, яке ви хочите видалити: ";
    int num;
    cin >> num;
}
void deleteleaf(leaf** root, int num) {
...
}
...
    deleteleaf(&root, input_leaf_to_delete());

Ваша функція надто конкретна - от саме ввести, саме з cin і саме українською спитати. Так функції можна використовувати незалежно одна від одної.