Posortować tablicę 2D w C ++ za pomocą wbudowanych funkcji (lub dowolnej innej metody)?
Mam tablicę 2D, jak poniżej. (array[5][2]
)
20 11
10 20
39 14
29 15
22 23
po sortowaniu powinno być jak poniżej.
10 20
20 11
22 23
29 15
39 14
oznacza to, że tablicę należy sortować, porównując tylko pierwsze wartości kolumn.
W Javie istnieje wbudowana funkcja do tego celu. jak poniżej.
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);
}
}
});
Czy jest więc jakakolwiek funkcja wbudowana w C ++ do wykonywania tego typu rzeczy lub jak mogę to zrobić w C ++ (najszybsza implementacja)?
Z góry dziękuję :)