![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 | |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,372
|
![]() Цитата:
Зато обычно скорость выполнения рекурсии + стек обычно выше, чем если использовать динамическую память. Были времена, когда на компах было действительно 1-2К стека и 64К памяти - тогда действительно на рекурсии далеко не уедеш. Увы, эти времена далеко в прошлом. |
|
![]() |
![]() |
![]() |
#12 | |
Пользователь
Регистрация: 23.08.2011
Сообщений: 55
|
![]() Цитата:
"Пока бабка не смоет косметику, русский мужик не перекрестится" (C) Кто-то
|
|
![]() |
![]() |
![]() |
#13 |
Форумчанин
Регистрация: 29.01.2013
Сообщений: 319
|
![]()
Airhand
О чём речь вообще идёт? Если ты понимаешь, что такое стек, то вызов функции с целочисленным аргументом потребует от стека всего 8 байт. Столько же уйдёт для его вызова с указателем на самую хитрую структуру. Т.е., функция может самовызываться тысячи раз без особых проблем. Для большинства целей этого предостаточно. |
![]() |
![]() |
![]() |
#14 | |
Пользователь
Регистрация: 23.08.2011
Сообщений: 55
|
![]() Цитата:
"Пока бабка не смоет косметику, русский мужик не перекрестится" (C) Кто-то
|
|
![]() |
![]() |
![]() |
#15 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,372
|
![]()
Размер стека в Windows ограничен только адресным пространством процесса.
|
![]() |
![]() |
![]() |
#16 |
Форумчанин
Регистрация: 29.01.2013
Сообщений: 319
|
![]()
В стек записывается только адрес возврата и аргументы, без всяких названий. Некоторые аргументы вообще передаются в регистрах. И если не создавать локальные массивы бешеных размеров, то стека вполне хватит.
|
![]() |
![]() |
![]() |
#17 |
Форумчанин
Регистрация: 02.12.2012
Сообщений: 250
|
![]()
Что-то с глубиной вложения не получается сделать,года 3 назад делал на Делфи, а сейчас на С++ не могу найти примеры.
Т.е. непонятно в какое место у рекурсивной функции надо вставлять это счетчик, я пробовал писать glubina++ там где проверяется каталог с "." и "..",но по-моему неверно работает.Ищет либо только в корне,либо всё по максимуму |
![]() |
![]() |
![]() |
#18 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,430
|
![]() Код:
![]() Кстати, какой-то странный код. Мне кажется, что правильнее: Код:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись
![]() Последний раз редактировалось BDA; 29.05.2013 в 10:06. |
![]() |
![]() |
![]() |
#19 |
Форумчанин
Регистрация: 02.12.2012
Сообщений: 250
|
![]()
Ну да,второй вариант работает и он более правильный.Я не догадался,что глубину надо использовать как переменную самой функции, т.к. если ее просто обнулять внутри ListFiles то рекурсивный вызов правильно работает только 1-й раз.
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Поиск файлов по маске и нахождения общего размера найденных файлов и вывод в терминал | Колямбий | Помощь студентам | 0 | 21.04.2013 21:31 |
C#.LINQ Генерация всех перестановок без рекурсии | Lasur | Помощь студентам | 2 | 08.04.2012 19:38 |
Рекурсивный поиск файлов в интервале дат(без времени,только день,месяц и год)) | AlexKhol | Общие вопросы Delphi | 3 | 04.02.2012 16:15 |
А нужно без рекурсии | Kazik | Общие вопросы Delphi | 1 | 22.05.2010 12:20 |
С помощью рекурсии без операторов цикла и перехода написать процедуру P(N) | WhyBeNormal | Помощь студентам | 1 | 29.01.2009 01:20 |