C++怎么把数组放到set里
时间: 2024-11-27 11:18:16 浏览: 7
C++密码(红眼),可能会把你气内个
在C++中,将数组直接放入`std::set`是不太直接的,因为`set`通常用于存储唯一的元素,而数组会包含重复的元素(除非它是静态大小的常量数组)。但是,你可以通过创建一个容器适配器,比如`std::vector`,然后将这个`vector`插入到`set`中。以下是一个简单的示例:
```cpp
#include <vector>
#include <set>
// 假设我们有一个整数数组
int arr[] = {1, 3, 5, 7, 9};
// 创建一个vector来包装我们的数组
std::vector<int> arrayAdapter(arr, arr + sizeof(arr) / sizeof(int));
// 现在我们可以将vector插入到set中,set会自动去重
std::set<std::vector<int>> uniqueArray(set(arrayAdapter.begin(), arrayAdapter.end()));
// 如果你想保持原始数组的顺序,可以使用unordered_set或自定义排序规则
std::unordered_set<std::pair<int, std::vector<int>>> uniqueOrderedSet;
for (const auto& num : arr) {
uniqueOrderedSet.insert(std::make_pair(num, std::vector<int>{num}));
}
//
阅读全文