Ordenar con comparador
Un vector (como una matriz)  se pueden ordenar usando la función sort(). Pero esta función ordena en orden ascendente de forma predeterminada. Para ordenar una matriz en un orden diferente, debe usar el llamado comparador , una función que establece el orden de clasificación comparando dos objetos .
 
Ejemplo
Un ejemplo de un comparador que ordena los elementos de una matriz en orden ascendente. bool cmp(int primero, int segundo) { volver primero < segundo; }
y ordenando el vector A usando el comparador creado: sort(A.begin(), A.end(), cmp); Piense en iteradores

De acuerdo con la condición del problema, es claro que es necesario aplicar la ordenación estable (estable), por lo tanto, en lugar de ordenar, se debe usar ordenación_estable.

también puede especificar un objeto de función como comparador, que puede crear antes de llamar a la función de clasificación.
Por ejemplo:
estructura {
        bool operador()(int a, int b) const
        {
            regresar a < b;
        }
    } cmp;