|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
03.03.2011, 22:11 | #1 |
Зелень
Форумчанин
Регистрация: 03.02.2007
Сообщений: 302
|
Сортировка массива.
С первого взгляда, что тут такого, сортировать массив.
Но, когда это массив просто огромен и мало того, что просто огромный, он еще и многомерный - и тут уже каждое действие на счету при сортировке (я имею ввиду время). Сортировка может быть разная, как по адресу [address] по деньгам [cash] по айпи [currip] Да и т.д., практически по каждому полю, никак не могу додуть, как мне сделать такую сортировку, чтобы сохранилась целостность полей. Еще хочу добавить верхний уровень массива выглядит так: Код:
Привожу один елемент массива, таких елементов может быть тысячи: Код:
Последний раз редактировалось Небесный; 03.03.2011 в 22:44. |
03.03.2011, 22:47 | #2 |
Старожил
Регистрация: 31.05.2010
Сообщений: 3,301
|
Используйте БД, связанные таблицы для распределения информации.
Это решит ваши проблемы с сортировкой данных. |
03.03.2011, 22:50 | #3 |
Зелень
Форумчанин
Регистрация: 03.02.2007
Сообщений: 302
|
Я знаю, что решило бы, нету возможности использовать СУБД, а сама БД находится в файлах.
Это и заполняется массив из файловой базы. |
03.03.2011, 23:02 | #4 | |
Старожил
Регистрация: 31.05.2010
Сообщений: 3,301
|
Цитата:
Это ж изврат какой-то - такие объемы информации,столько разных уровней, сортировка по куче критериев - и на файлах.... Ну а по сабжу - по-любому нужно дробить информацию, выделять ключевые параметры(ID юзеров, например), затем делать отдельные файлы с отдельными видами информации(для каждого вида - отдельный файл), связанными друг с другом по этому ID. Но это - фактически копировать алгоритмы БД, при таких существующих объёмах - тоже дело не быстрое.... |
|
04.03.2011, 10:59 | #5 | |
Зелень
Форумчанин
Регистрация: 03.02.2007
Сообщений: 302
|
Кое-что нарыл!
Но, есть одно но. Сам пример сортировки: Код:
Код:
Цитата:
Понятно, что оно посортировало по первой цыфре, так как 3 < 4 Переводить ip в 2-ную систему а потом обратно, опять затрата времени. Кто что может посоветовать по этому поводу. |
|
04.03.2011, 11:12 | #6 |
Форумчанин
Регистрация: 20.02.2010
Сообщений: 229
|
как я понял он впринципе значения полей ip отсортировал в порядке возрастания(на что собственно и указывает SORT_ASC), если не нравитсья такая сортировка то используйте другие параметры SORT_STRING, SORT_NUMERIC, SORT_DESC. а так в цлеом идея не плохая)
думай как баг, действуй как баг, и ты найдешь баг )
|
04.03.2011, 11:42 | #7 |
Зелень
Форумчанин
Регистрация: 03.02.2007
Сообщений: 302
|
С сортировкой ip прекрасно справляется
Код:
А, флаги для многомерной сортировке уже перебрал разные - пока ничего не подходит. Код:
|
04.03.2011, 14:13 | #8 |
Зелень
Форумчанин
Регистрация: 03.02.2007
Сообщений: 302
|
Нашел один способ все же.
Это функция ip2long И того: Код:
Код:
|
07.03.2011, 18:24 | #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 |