|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
25.05.2013, 17:28 | #11 | |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
Цитата:
Зато обычно скорость выполнения рекурсии + стек обычно выше, чем если использовать динамическую память. Были времена, когда на компах было действительно 1-2К стека и 64К памяти - тогда действительно на рекурсии далеко не уедеш. Увы, эти времена далеко в прошлом. |
|
25.05.2013, 19:53 | #12 | |
Пользователь
Регистрация: 23.08.2011
Сообщений: 55
|
Цитата:
"Пока бабка не смоет косметику, русский мужик не перекрестится" (C) Кто-то
|
|
26.05.2013, 18:40 | #13 |
Форумчанин
Регистрация: 29.01.2013
Сообщений: 319
|
Airhand
О чём речь вообще идёт? Если ты понимаешь, что такое стек, то вызов функции с целочисленным аргументом потребует от стека всего 8 байт. Столько же уйдёт для его вызова с указателем на самую хитрую структуру. Т.е., функция может самовызываться тысячи раз без особых проблем. Для большинства целей этого предостаточно. |
27.05.2013, 09:55 | #14 | |
Пользователь
Регистрация: 23.08.2011
Сообщений: 55
|
Цитата:
"Пока бабка не смоет косметику, русский мужик не перекрестится" (C) Кто-то
|
|
27.05.2013, 10:24 | #15 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
Размер стека в Windows ограничен только адресным пространством процесса.
|
27.05.2013, 13:03 | #16 |
Форумчанин
Регистрация: 29.01.2013
Сообщений: 319
|
В стек записывается только адрес возврата и аргументы, без всяких названий. Некоторые аргументы вообще передаются в регистрах. И если не создавать локальные массивы бешеных размеров, то стека вполне хватит.
|
29.05.2013, 09:49 | #17 |
Форумчанин
Регистрация: 02.12.2012
Сообщений: 250
|
Что-то с глубиной вложения не получается сделать,года 3 назад делал на Делфи, а сейчас на С++ не могу найти примеры.
Т.е. непонятно в какое место у рекурсивной функции надо вставлять это счетчик, я пробовал писать glubina++ там где проверяется каталог с "." и "..",но по-моему неверно работает.Ищет либо только в корне,либо всё по максимуму |
29.05.2013, 09:56 | #18 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,291
|
Код:
Кстати, какой-то странный код. Мне кажется, что правильнее: Код:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
Последний раз редактировалось BDA; 29.05.2013 в 10:06. |
29.05.2013, 10:54 | #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 |