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ę :)

questionAnswers(7)

yourAnswerToTheQuestion