![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Зелень
Форумчанин
Регистрация: 03.02.2007
Сообщений: 302
|
![]()
С первого взгляда, что тут такого, сортировать массив.
Но, когда это массив просто огромен и мало того, что просто огромный, он еще и многомерный - и тут уже каждое действие на счету при сортировке (я имею ввиду время). Сортировка может быть разная, как по адресу [address] по деньгам [cash] по айпи [currip] Да и т.д., практически по каждому полю, никак не могу додуть, как мне сделать такую сортировку, чтобы сохранилась целостность полей. Еще хочу добавить верхний уровень массива выглядит так: Код:
Привожу один елемент массива, таких елементов может быть тысячи: Код:
Последний раз редактировалось Небесный; 03.03.2011 в 22:44. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 31.05.2010
Сообщений: 3,301
|
![]()
Используйте БД, связанные таблицы для распределения информации.
Это решит ваши проблемы с сортировкой данных. |
![]() |
![]() |
![]() |
#3 |
Зелень
Форумчанин
Регистрация: 03.02.2007
Сообщений: 302
|
![]()
Я знаю, что решило бы, нету возможности использовать СУБД, а сама БД находится в файлах.
Это и заполняется массив из файловой базы. |
![]() |
![]() |
![]() |
#4 | |
Старожил
Регистрация: 31.05.2010
Сообщений: 3,301
|
![]() Цитата:
Это ж изврат какой-то - такие объемы информации,столько разных уровней, сортировка по куче критериев - и на файлах.... Ну а по сабжу - по-любому нужно дробить информацию, выделять ключевые параметры(ID юзеров, например), затем делать отдельные файлы с отдельными видами информации(для каждого вида - отдельный файл), связанными друг с другом по этому ID. Но это - фактически копировать алгоритмы БД, при таких существующих объёмах - тоже дело не быстрое.... ![]() |
|
![]() |
![]() |
![]() |
#5 | |
Зелень
Форумчанин
Регистрация: 03.02.2007
Сообщений: 302
|
![]()
Кое-что нарыл!
Но, есть одно но. Сам пример сортировки: Код:
Код:
Цитата:
Понятно, что оно посортировало по первой цыфре, так как 3 < 4 Переводить ip в 2-ную систему а потом обратно, опять затрата времени. Кто что может посоветовать по этому поводу. |
|
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 20.02.2010
Сообщений: 229
|
![]()
как я понял он впринципе значения полей ip отсортировал в порядке возрастания(на что собственно и указывает SORT_ASC), если не нравитсья такая сортировка то используйте другие параметры SORT_STRING, SORT_NUMERIC, SORT_DESC. а так в цлеом идея не плохая)
думай как баг, действуй как баг, и ты найдешь баг )
|
![]() |
![]() |
![]() |
#7 |
Зелень
Форумчанин
Регистрация: 03.02.2007
Сообщений: 302
|
![]()
С сортировкой ip прекрасно справляется
Код:
А, флаги для многомерной сортировке уже перебрал разные - пока ничего не подходит. Код:
|
![]() |
![]() |
![]() |
#8 |
Зелень
Форумчанин
Регистрация: 03.02.2007
Сообщений: 302
|
![]()
Нашел один способ все же.
Это функция ip2long И того: Код:
Код:
|
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 25.12.2010
Сообщений: 247
|
![]()
Вы планируете проводить сортировку всего контента который находится на сайте по запросу юзверей? (еще интересней окажется если это ajax запрос
![]() мб стоит отсортировать один раз по всем столбцам и сохранить индексы в отдельном файле и при надобности доставать контент по этим индексам, а вставлять бинарными вставками ? Мне кажется так будет намного быстрее |
![]() |
![]() |
![]() |
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Сортировка массива методами предсортировки и слияния, и пирамидальная сортировка. | lenny_24 | Помощь студентам | 2 | 17.04.2011 18:57 |
Сортировка массива | Neksion | Помощь студентам | 1 | 02.12.2010 16:46 |
Сортировка массива | SGadX | Помощь студентам | 0 | 22.10.2010 12:56 |
Сортировка массива | 8edrius | Помощь студентам | 0 | 08.05.2010 03:31 |
Сортировка массива | Kraven | Общие вопросы Delphi | 3 | 25.06.2008 18:22 |