STL: сортировка вектора
От: vodolas  
Дата: 10.06.08 11:47
Оценка:
Народ!!
О задаче:
имеется какой-то заполненный грид. Надо его отсортировать. Для повышения быстродействия кеширую все данные в std::vector GridData. Т.к. ветор одномерен — пытаюсь селать его с разным наполнением:
1) std::vector<String *> GridData;. Потом при заполнении происходит создание массива:
GridData[i] = new AnsiString [FieldsHeader.size()];
2)Создаю вектор с struct TRow
{
AnsiString * Rows;
int RowCount;
int OrderCol;
};
std::vector<TRow> GridData;
Инициализация:
GridData[i].Rows = new AnsiString [FieldsHeader.size()];

Возникла необходимость отсортировать по одному из столбцов. Как это сделать?
Для обычного вектора идет перегрузка оператора operator< и потом std::sort(GridData.begin(), GridData.end());
А как здесь? Просто я пробовал перегрузку в первом случае, но не сортируется.
Во втором случае не могу перегрузить операнд.
КАк лучше подойти к вопросу?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.