好的,所以我尝试对项目的 vector 进行排序,因此两个相邻项目的大小 <= 2d。 所以这是我的尝试:
struct item{
long number;
long size;
};
// d is global variable.
bool check(const item& x, const item& y)
{
return ((x.size + y.size) <= (2 * d));
}
// Items is a vector of item.
sort(items.begin(), items.end(), check);
我做错了什么,或者甚至不可能使用这样的条件进行排序?
最佳答案
it's even impossible to sort using condition like that ?
没有。 sort
中的比较器必须满足 strict weak ordering 的标准你的显然不是(例如它不是反身的)。
关于c++ - <algorithm> 排序自定义条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5135216/