Russian Qt Forum
Ноябрь 23, 2024, 01:27 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Как реализовать двухколонную сортировка QList<MyTable>  (Прочитано 3555 раз)
DenisKh001
Гость
« : Июль 11, 2011, 07:59 »

Есть класс-контейнер MyTable состоящий из двух столбцов first, second. Как сделать сортировку по двум столбцам?
class MyTable
{  MyTable();
    QString first;
    QString second; };
QList<MyTable> list // определение
... // добавляем данные
Sort(list.begin(),list.end()); // такое конечно не работает

Наверное это общий вопрос программирования, где можно почитать о таких алгоритмах?
Записан
LisandreL
Птица говорун
*****
Offline Offline

Сообщений: 984


Надо улыбаться


Просмотр профиля
« Ответ #1 : Июль 11, 2011, 08:18 »

Вариант 1:
Цитировать
void qSort ( RandomAccessIterator begin, RandomAccessIterator end )
This function requires the item type (in the example above, int) to implement operator<().
То есть вы можете для своего класса определить этот оператор.

Вариант 2:
Цитировать
void qSort ( RandomAccessIterator begin, RandomAccessIterator end, LessThan lessThan )
Uses the lessThan function instead of operator<() to compare the items.
В этом варианте вы можете реализовать несколько функций сравнения. Удобно, если нужно несколько вариантов сортировки. Например, вначале по первому столбцу, затем по второму, вначале по второму, потом по первому, только по первому, только по второму…
Записан
lenny
Гость
« Ответ #2 : Октябрь 08, 2011, 12:30 »

Наверное это общий вопрос программирования, где можно почитать о таких алгоритмах?
В книгах по STL. Самая простая Л.Аммерааль - STL для программистов на C++.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.048 секунд. Запросов: 23.