我是 C++ 新手,我需要Set
从 the中使用,STL
但我正在为这个概念而苦苦挣扎。
我有一个这样的数组int my_data[3]
我想创建(不知道这是否可能)一个set
具有 3 个整数的空间,并且key
for theset
将int
是存储在第一列的那个。
我也想做一个自定义排序。
这是我尝试过但没有成功的方法。
struct sort_set {
bool operator() (const int& a, const int& b) const {
int* arr1 = (int*) a;
int* arr2 = (int*) b;
int diff = arr2[1] - arr1[1];
if (diff) {
return true;
} else if (diff == 0) {
int diff2 = arr2[2] - arr1[2];
if (diff2) {
return false;
}
}
return arr1[0] < arr2[0];
}
};
set<int[3],sort_set> data;
有人可以指出我正确的方向吗?