<algorithm>排序自定义条件

Mar*_*jus 3 c++ sorting stl-algorithm

好的,所以我尝试使用sort来计算项目的向量,这样两个adjecant项目的大小是<= 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); 
Run Code Online (Sandbox Code Playgroud)

我做错了什么,或者甚至不可能使用这样的条件进行排序?

Kon*_*lph 5

使用这样的条件甚至不可能排序?

不可以.比较器sort必须满足严格弱顺序的标准,而你的清单却没有(例如,它不是反射性的).