Сортировать 2D массив в C ++, используя встроенные функции (или любой другой метод)?
У меня есть 2D-массив, как показано ниже. (array[5][2]
)
20 11
10 20
39 14
29 15
22 23
после сортировки должно быть как ниже.
10 20
20 11
22 23
29 15
39 14
это означает, что массив должен быть отсортирован, сравнивая только значения первого столбца.
В Java для этого есть встроенная функция. как ниже.
Arrays.sort(a, new Comparator<Long[]>() {
@Override
public int compare(Long[] o1, Long[] o2) {
Long t1 = o1[1];
Long p1 = o1[0];
Long t2 = o2[1];
Long p2 = o2[0];
if (t1 == t2) {
return (p1 > p2 ? 1 : (p1 == p2 ? 0 : -1));
} else {
return (t1 < t2 ? -1 : 1);
}
}
});
Так есть ли в C ++ встроенная функция, позволяющая делать подобные вещи, или как я могу сделать это в C ++ (самая быстрая реализация)?
Заранее спасибо :)