Форум программистов, компьютерный форум CyberForum.ru

Что такое рекурсия? Зачем она нужна? - C++

Восстановить пароль Регистрация
 
sancho1996
0 / 0 / 0
Регистрация: 24.06.2013
Сообщений: 55
02.07.2013, 19:52     Что такое рекурсия? Зачем она нужна? #1
Объясните пож человеческим языком, что такое Рекурсия.

Я знаю что это вызов функции самой себя.
Но всё равно не могу догнать зачем она нужна.

Заранее спасибо!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Second
79 / 80 / 1
Регистрация: 10.08.2011
Сообщений: 665
02.07.2013, 20:00     Что такое рекурсия? Зачем она нужна? #2
Это одно из многих определений в учебниках, которое крайне редко используется на практике.
В педевикии лаконично описано, но маловероятно повстречать сие в реалиях.
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
02.07.2013, 20:04     Что такое рекурсия? Зачем она нужна? #3
Цитата Сообщение от Second Посмотреть сообщение
маловероятно повстречать сие в реалиях.
да ну... та же широко используемая сортировка quicksort рекурсивная. обработка бинарных деревьев чаше всего рекурсивна и многое другое.
sancho1996
0 / 0 / 0
Регистрация: 24.06.2013
Сообщений: 55
02.07.2013, 20:10  [ТС]     Что такое рекурсия? Зачем она нужна? #4
Цитата Сообщение от Thinker Посмотреть сообщение
да ну... та же широко используемая сортировка quicksort рекурсивная. обработка бинарных деревьев чаше всего рекурсивна и многое другое.
расскажите о рекурсии по подробнее пож
nexen
187 / 180 / 3
Регистрация: 27.01.2012
Сообщений: 1,335
02.07.2013, 20:16     Что такое рекурсия? Зачем она нужна? #5
sancho1996, это просто вызов функции самой себя. Допустим:
C++
1
2
3
4
5
6
bool f(int x)
{
if (x == 1) return false;
else
f(x - 1);
}
Функция будет вызывать себя -ндцать раз, до тех пор пока не вызовет с числом, равным 1, а затем вызов прекратится.
castaway
Эксперт С++
4848 / 2987 / 368
Регистрация: 10.11.2010
Сообщений: 11,028
Записей в блоге: 10
Завершенные тесты: 1
02.07.2013, 20:40     Что такое рекурсия? Зачем она нужна? #6
Много лишнего для примера..
C++
1
2
3
4
5
void func( int n )
{
    if ( !n ) return; // если n == 0 ...
    func( n - 1 );
}
Собственно, она ничего не делает, просто пример работы рекурсии.
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
02.07.2013, 20:45     Что такое рекурсия? Зачем она нужна? #7
Цитата Сообщение от lazybiz Посмотреть сообщение
она ничего не делает, просто пример работы рекурсии.
вот откуда потом появляются фразы типа

Цитата Сообщение от Second Посмотреть сообщение
Это одно из многих определений в учебниках, которое крайне редко используется на практике... маловероятно повстречать сие в реалиях.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.07.2013, 20:52     Что такое рекурсия? Зачем она нужна?
Еще ссылки по теме:

Что такое тестирующая программа и зачем она нужна? C++
Явная специализация, зачем она нужна?(Шаблоны функций) C++
C++ Зачем нужна строка в коде?

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
castaway
02.07.2013, 20:52     Что такое рекурсия? Зачем она нужна?
  #8

Не по теме:

Thinker, ))))))

Yandex
Объявления
02.07.2013, 20:52     Что такое рекурсия? Зачем она нужна?
Ответ Создать тему
Опции темы

Текущее время: 17:28. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru