屬性值進行排序我有這樣的結構:的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