小编Ama*_*man的帖子

C++ stable_sort不稳定?

我使用C++ stable_sort使用比较器函数按升序对我的类对象的向量进行排序,但排序不稳定.解决这个问题的方法是反转迭代并反转比较器中的逻辑.但是无法理解为什么它不能正常工作.码:

using namespace std;
class Pair{
    string str;
    int num;
public:
    Pair(string s, int n):str(s), num(n)
    {}
    Pair(const Pair &a)
    {
        str = a.str;
        num = a.num;
    }
    int Num()
    {
        return num;
    }
    string Str() const{
        return str;
    }
    void set(string s, int n)
    {
        str = s;
        num=n;
    }
    void print() const{
        cout<<"\n"<<num<<" "<<str;
    }
};

bool comparator( Pair a,  Pair b)
{
    return a.Num()<=b.Num();
}

int main() {
    int n;
    cin >> n;
    vector<Pair> arr;
    for(int …
Run Code Online (Sandbox Code Playgroud)

c++ stl stable-sort

2
推荐指数
1
解决办法
462
查看次数

标签 统计

c++ ×1

stable-sort ×1

stl ×1