Рекурсия

Другой пример рекурсивной функции — печать всех неотрицательных чётных чисел не больше указанного :

private void printEvenDigits(int ceil) {
    if (ceil = 0) {
        System.out.println(ceil);
        return;
    }
    if (ceil % 2 == 0) {
        System.out.println(ceil);
    }
    printEvenDigits(ceil-1);
}

Практически все задачи, решаемые с помощью итераций (циклов типа for-each), можно решить и рекурсивно. Преимущество рекурсии в читаемости и простоте написания. Недостатком является снижение производительности и повышение потребляемой памяти, переполнение стека вызовов. Это, как правило, происходит при неразумном использовании рекурсии.

Назад

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *