用比较器排序
向量(如数组) 可以使用 sort() 函数进行排序。但此函数默认按升序排序。 要按不同的顺序对数组进行排序,您需要使用所谓的比较器  - 一个通过比较两个对象来设置排序顺序的函数.
 
例子
按升序对数组元素进行排序的比较器示例。 bool cmp(int first, int second) { 先返回第二;
并使用创建的比较器对向量 A 进行排序: sort(A.begin(), A.end(), cmp); 考虑迭代器

根据问题的情况,显然需要应用stable(稳定的)排序,因此,应该使用stable_sort而不是sort。

您还可以指定一个函数对象作为比较器,您可以在调用排序函数之前创建它。
例如:
结构 {
        bool 运算符()(int a, int b) const
        {
            返回 a < b;
        }
    }cmp;