У меня есть таблица, хранящаяся в непрерывной памяти.После сортировки он должен оставаться в этом формате.
Например:
int table[5][3] = {
{ 60, 5, 10 },
{ 0, 200, 15 },
{ 55, 50, 365 },
{ 4, 7, 78 },
{ 555, 8, 11 },
};
За исключением гораздо большего (размер самого большого в байтах составляет приблизительно 27 КБ).Каждая ячейка всегда представляет собой int32, и все строки имеют одинаковое количество столбцов.
Допустим, я хочу отсортировать его по первому столбцу, чтобы результат был эквивалентен:
{ 0, 200, 15 },
{ 4, 7, 78 },
{ 55, 50, 365 },
{ 60, 5, 10 },
{ 555, 8, 11 },
Какой лучший способ сделать это?Я предполагаю, что есть лучший способ, чем преобразовать это в std::list
, вызвать sort()
и преобразовать обратно.
Кроме того, что-то встроенное в C ++, где мне просто нужно вызвать какую-то функцию, было бы лучше.