C++ vector元素 添加到 set
时间: 2023-12-10 08:41:04 浏览: 248
可以使用`std::set`的构造函数来初始化`set`,并将`vector`中的元素作为参数传递。
以下是一个示例代码:
```cpp
#include <iostream>
#include <vector>
#include <set>
int main()
{
std::vector<int> vec = {1, 2, 3, 4, 5};
std::set<int> s(vec.begin(), vec.end());
for (auto i : s) {
std::cout << i << " ";
}
return 0;
}
```
输出结果为:
```
1 2 3 4 5
```
这里将`vector`中的所有元素作为参数传递给了`set`的构造函数,从而将`vector`中的元素添加到了`set`中。
相关问题
C++ vector元素 追加到 set
可以使用STL算法`std::copy()`将vector元素追加到set中。具体步骤如下:
1. 创建一个set并将vector中的元素插入到set中。
2. 使用`std::copy()`将vector中的元素追加到set中。
代码示例:
```c++
#include <iostream>
#include <vector>
#include <set>
#include <algorithm>
int main() {
std::vector<int> myvec {1, 2, 3, 4, 5};
std::set<int> myset;
// 将vector中的元素插入到set中
for (const auto& elem : myvec) {
myset.insert(elem);
}
// 使用std::copy()将vector中的元素追加到set中
std::copy(myvec.begin(), myvec.end(), std::inserter(myset, myset.end()));
// 输出set中的元素
for (const auto& elem : myset) {
std::cout << elem << ' ';
}
std::cout << std::endl;
return 0;
}
```
输出结果为:
```
1 2 3 4 5
```
c++中的vector和set
在C++中,vector和set都是STL(标准模板库)中的容器,用于存储数据。它们的主要区别在于它们的实现方式和用途。
vector是一个动态数组,可以自动调整大小。它的元素存储在连续的内存位置中,因此可以通过指针进行快速访问。vector通常用于需要随机访问元素的情况,例如需要对元素进行排序或查找。
以下是一个使用vector的示例:
```c++
#include <iostream>
#include <vector>
int main() {
std::vector<int> v = {1, 2, 3, 4, 5};
// 添加元素
v.push_back(6);
// 访问元素
std::cout << "第一个元素是:" << v[0] << std::endl;
// 遍历元素
for (int i = 0; i < v.size(); i++) {
std::cout << v[i] << " ";
}
std::cout << std::endl;
return 0;
}
```
set是一个关联容器,用于存储唯一的元素。它的元素按照一定的顺序排列,通常是从小到大。set通常用于需要快速查找元素的情况,例如查找某个元素是否存在。
以下是一个使用set的示例:
```c++
#include <iostream>
#include <set>
int main() {
std::set<int> s = {3, 1, 4, 1, 5};
// 添加元素
s.insert(2);
// 查找元素
if (s.find(3) != s.end()) {
std::cout << "3 存在" << std::endl;
}
// 遍历元素
for (auto it = s.begin(); it != s.end(); it++) {
std::cout << *it << " ";
}
std::cout << std::endl;
return 0;
}
```