|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
23.06.2011, 09:41 | #1 |
Форумчанин
Регистрация: 02.06.2011
Сообщений: 282
|
рекурсивные функции
такой вопрос.
проверяю рекурсивно все узлы бинарного дерева на наличие некоторого элемента, чтобы потом его изменить по ссылке. если этот элемент обнаружен как выйти из рекурсии сразу же после это, не просматривая все остальные узлы? ну вот так например: Код:
|
23.06.2011, 09:49 | #2 |
C++
Форумчанин
Регистрация: 27.03.2011
Сообщений: 803
|
Поскольку у вас только один процесс, то по сути именно это и произойдет.
Ищете информацию по C++?
cplusplus.com |
23.06.2011, 10:17 | #3 |
Форумчанин
Регистрация: 02.06.2011
Сообщений: 282
|
действительно так и происходит. вернее те узлы которые еще не вызывались, уже и не вызовутся, а те уровни функций которые были вызваны но еще не завершили свое выполнение выполнятся до конца, но уже не будут вызывать внутри себя себя же. верно? вроде правильно изъяснился.
|
23.06.2011, 10:53 | #4 |
Старожил
Регистрация: 21.03.2009
Сообщений: 2,193
|
Хм, а компилятор не ругается, что значение возвращается не при всех ситуациях? Вообще-то должен.
А как выйти - при обнаружении генерируйте исключение, которое обрабатывайте ниже. См., например, у Страуструпа главу 14.5 "Исключения, не являющиеся ошибками". Это будет эффективно, однако этот момент необходимо развернуто прокомментировать, т.к. в данном случае исключения выполняют не ту роль, для которой предназначены - сообщение об ошибке.
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта Тема на форуме, посвященная ему же |
23.06.2011, 12:01 | #5 | |
C++,DirectX/OpenGL
Форумчанин
Регистрация: 09.01.2011
Сообщений: 422
|
Цитата:
Код:
|
|
23.06.2011, 12:16 | #6 | ||
С++
Форумчанин
Регистрация: 22.09.2008
Сообщений: 791
|
An1ka,
Код:
Цитата:
Цитата:
Код:
Форматируйте код, будьте людьми.
|
||
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Нерекурсивные\Рекурсивные процедуры и функции | Kerragin | Помощь студентам | 4 | 03.06.2011 17:50 |
Рекурсивные функции | NiaSpa | Помощь студентам | 3 | 04.03.2010 11:53 |
Рекурсивные функции. | Geg[C/c++] | Общие вопросы C/C++ | 2 | 11.10.2009 11:28 |