Сортировка в файле большого размера

BopoH

Новичок
Сортировка в файле большого размера

Люди, помогите сделать быструю сортировку записей в файле.:confused:
Файл большого рамера, поэтому методы типа пузырькового и обмена не подходят...:( здесь нужно поменьше обращений к файлу
 

Metal

Guest
А сортировку какую? по дате создания, по первой буве в алфавитном порядке, по длинне строки/записи?
 

BopoH

Новичок
В файле находятся слова фиксированного размера (допустим по 8 букв). Хочу отсортировать их по возрастанию
 

Metal

Guest
по длинне..
Ну а с минимальным обращением к файлу выходит так:
читаем по строчке а потом сортируем по размеру строки в байтах.
можешь ещё просто записывать свои слова в разные файлы, 1.txt , 2.txt , 3.txt , 4.txt ...
и чтоб в первом содержались все слова длинною в один байт.
во втором длинною в два байта..
в третем - три...

А потом просто делать по очередной запрос на чтение каждого из них, или по запросу. ну допустим выдать все слова с одним символом...
 

BopoH

Новичок
нет, не по длине.. а по алфавиту

все слова состоят из 8 букв... находятся в одном файле
(мне не желательно размещать их в нескольких файлах.. это скажется потом на быстродействии их обработки)

отсортировать их в памяти (предварительно прочитав) не получается (слов ну очень много, все в памяти не помещаются).
поэтому надо отсортировать их прямо в файле.
помогите плиз...
 

Metal

Guest
Ну ты хотяб один раз отсортировал бы за пол часа, а потом если бы ктото запрашивал слова, они были бы уже отсортированны.
 

SiMM

Новичок
BopoH, тебе дали две ссылки. Одну - где можно почитать об алгоритмах сортировки, и вторую, где описан демонстративный пример того, как НУЖНО ставить задачу. Ни той, ни другой ссылки ты не прочитал, и задачу так и не описал. Она может иметь другое решение.

> мне не желательно размещать их в нескольких файлах.. это скажется потом на быстродействии их обработки
Это ещё надо доказать. И вообще - существует такое понятие, как СУБД. Как раз для подобных задач.
 

Фанат

oncle terrible
Команда форума
Metal, можно тебя попросить сократить своё участие в дискуссиях на форуме?
Ценность твоих советов нулевая.
Это предупреждение. Если ты не внимешь ему, то придётся ограничить твою активность техническими средствами.
 

SiMM

Новичок
> а что такое "man sort"?
Вывод описания формата командной строки для программы sort. Что такое shell (который может понадобиться для ввода этой команды, хотя в принципе можно обойтись [m]exec[/m]ом) и есть ли он на твоём хостинге - узнавай у гугля и хостера соответственно. А так же есть ли возможность запускать внешние приложения (хотя это можно выяснить экспериментально).
 
Сверху