我使用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)