Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Алгоритмы > Сортировка таблицы по столбцу


Автор: altarasjuk 19.6.2003, 18:50
Всем привет smile.gif
Подскажите, плиз, есть таблица(2-х мерный массив) и надо строки этого массива отсортировать по какому-либо столбцу. т.е. есть, допустим, фамилия и имя, и это надо отсортировать либо по фамилии, либо по имени, но чтобы учитывались данные других столбцов. Нпример было:

Петров Федя
Иванов Иван
Иванов Абрагим

а стало

Иванов Абрагим
Иванов Иван
Петров Федя

Заранее спасибо. smile.gif

Автор: podval 20.6.2003, 18:41
altarasjuk
Эта таблица в базе данных или нет?

Автор: altarasjuk 20.6.2003, 19:12
ну как бы в базе данных, но через sql сортировка - это долго (10000 записей и более) т.к. этот процесс для таблицы не единоразовый.

Автор: Гость_Black_Joker 15.7.2003, 11:50
Пишешь любую сортировку, только сортируешь нужный столбец.
а остальные записи просто "тянешь" за собой.

Автор: altarasjuk 15.7.2003, 12:18
дык а как чтобы был вторичный ключ и при этом сохранялась скорость. просто по одному столбцу - у меня реализована быстрая сортировка, а вот надо там учесть данные других столюцов, но опять же чтобы по скорости это не стало как сортировка пузырьком biggrin.gif

Автор: kor 16.7.2003, 07:51
Грубо говоря я тебя понял так:
1) У тебя есть иерархия критериев сортировки...
2) Каждый критерий определяет сортировку по определенному столбцу.
3) Ты применяешь критерии последовательно и сортируешь в итоге всю таблицу....

Ответ:
1) Если у тебя массив мало меняется между сортирвками то попробуй туже сортировку пузырьком
(совсем неплохо или другую сортировку учитывающую частичную упорядоченность массива конечно
есть и лучше) сm (algolist.manuals.ru)

2) Если массив сильно меняется то построй единый критерий сортировки... собирая его из критериев
для отдельтных столбцов. и потом по нему либо быструю либо поразрядную сортировку...
(что вобще иногда бывает супер)


Автор: altarasjuk 16.7.2003, 11:50
Цитата
) Если массив сильно меняется то построй единый критерий сортировки... собирая его из критериев
для отдельтных столбцов. и потом по нему либо быструю либо поразрядную сортировку...
Спасибо, а это действительно мысль! Создать дополнительный столбец, который будет представлять собой склееные в соответствии с критериями дрегие столбцы, и авось и тормозить не будет. Так что спасибо за мысль. (Раньше я для каждой проверки) biggrin.gif

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)