Примеры программ. Поиск файлов.
В качестве примера использования рекурсии рассмотрим задачу поиска файлов. Пусть нужно получить список всех файлов, например, с расширением .bmp, которые находятся в указанном пользователем каталоге и во всех подкаталогах этого каталога.
Словесно алгоритм обработки каталога может быть представлен так:
- Вывести список всех файлов удовлетворяющих критерию запроса.
- Если в каталоге есть подкаталоги, то обработать каждый из этих каталогов.
Приведенный алгоритм (его блок-схема представлена на рис. 12.4) является рекурсивным: для того чтобы обработать подкаталог, процедура обработки текущего каталога должна вызвать сама себя.
Рис. 12.4. Рекурсивный алгоритм поиска файлов
Вид диалогового окна программы приведен на рис. 12.5, текст – в листинге 12.3.
Рис. 12.5. Окно программы Поиск файлов