属性值进行排序我有这样的结构:的std ::设置< struct >在结构C++
struct abc {
int x, y;
char s[20];
};
bool comp(abc a, abc b) {
int n = strlen(a.s), m = strlen(b.s);
for(int i = 0; i < min(n,m); i++)
if(a.s[i] != b.s[i])
return a.s[i] < b.s[i];
return n < m;
}
我想使一组与该结构由s[]
排序,但我不知道怎么办。
要么使用当你创建你的['std :: set'](http://en.cppreference.com/w/cpp/container/set)时,你的'comp'函数或者为你的类型创建'operator <'函数。 – 2014-12-13 11:27:01
@JoachimPileborg给我一个例子,当我创建std :: set时如何使用comp函数,因为我不知道如何编写,对不起我的英文不好 – behemoth 2014-12-13 11:33:25
请按照我以前的评论中的链接查看例如构造函数,或转到您最喜爱的搜索引擎并搜索例如“C++设置自定义比较” – 2014-12-13 11:44:05