реклама на сайте
подробности

 
 
> Сортировка файлов директории по алфавиту, с использованием минимума оперативы
sonycman
сообщение Mar 6 2007, 01:45
Сообщение #1


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Имеется SAM7 c какой-либо файловой системой. Возможно, с поддержкой длинных имён.
Есть директория с файлами.
Хочется открывать файлы из этой директории строго в алфавитном порядке, но как это сделать?

Можно-ли создать сортированный список файлов, используя минимум оперативной памяти?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
sonycman
сообщение Mar 6 2007, 13:01
Сообщение #2


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Цитата(Stanislav @ Mar 6 2007, 04:15) *
"Пузырьковое всплытие". Накладных расходов памяти (кроме собственно списка) нет. Для дальнейшей экономии ОЗУ можно составлять и сортировать список не имён файлов, а их порядковых номеров в директории.
Если элементов немного - метод работает не слишком тормознО. smile.gif

А что это за метод "пузырькового всплытия"?
Замена имён файлов их порядковыми номерами интересна, но как тогда открывать файл, имея только его номер? Перебором всех файлов, находящихся до него?
Цитата(KRS @ Mar 6 2007, 13:17) *
Если минимум памяти и список не хранить то перебором.
1 находим самый первый по алфавиту файл (перебором всего каталога)
2 находим самый первый но больше предыдущего ....
накладных расходов по памяти - хранить предыдущий открытый и текущий минимальный
но конечно скорость маленькая будет каждый раз перебирать.

Тоже пришёл к подобному решению. Скорость, конечно, будет не ахти...

В принципе, список можно сохранить в отдельном файле, тогда туда влезут все даже самые длинные имена и кол-во файлов не будет иметь значения.
А потом работать уже в соответствии с этим файлом...
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 30th July 2025 - 16:09
Рейтинг@Mail.ru


Страница сгенерированна за 0.01396 секунд с 7
ELECTRONIX ©2004-2016