vector.swap
时间: 2023-08-28 20:22:43 浏览: 71
vector.swap 是 C++ 中的一个成员函数,用于交换两个向量的内容。它接受一个向量作为参数,并将当前向量的内容与参数向量的内容进行交换。
例如,假设我们有两个向量 vec1 和 vec2,它们分别包含元素 {1, 2, 3} 和 {4, 5, 6}。如果我们调用 vec1.swap(vec2),则 vec1 和 vec2 的内容将被交换,最终 vec1 将包含 {4, 5, 6},vec2 将包含 {1, 2, 3}。
注意:vector.swap 只交换向量的内容,并不改变它们的容量。如果两个向量的容量不同,交换后的结果可能会导致其中一个向量的容量变小。
相关问题
c++vector.swap
c++中的vector.swap()方法可以交换两个vector容器的内容,使得两个容器中的元素互换。使用swap()方法可以避免复制和销毁元素所带来的开销,从而提高程序的效率。同时,swap()方法还可以用于释放vector占用的内存空间,实现内存的动态管理。
下面是一个使用swap()方法交换两个vector容器内容的例子:
```
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<int> v1 = {1, 2, 3};
vector<int> v2 = {4, 5, 6};
cout << "Before swap:" << endl;
cout << "v1: ";
for (auto i : v1) {
cout << i << " ";
}
cout << endl;
cout << "v2: ";
for (auto i : v2) {
cout << i << " ";
}
cout << endl;
v1.swap(v2);
cout << "After swap:" << endl;
cout << "v1: ";
for (auto i : v1) {
cout << i << " ";
}
cout << endl;
cout << "v2: ";
for (auto i : v2) {
cout << i << " ";
}
cout << endl;
return 0;
}
```
输出结果为:
```
Before swap:
v1: 1 2 3
v2: 4 5 6
After swap:
v1: 4 5 6
v2: 1 2 3
```
vector的swap
`vector`容器提供了`swap()`函数,用于交换两个向量的内容。以下是一个示例代码:
```cpp
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec1 = {1, 2, 3};
std::vector<int> vec2 = {4, 5, 6};
// 交换vec1和vec2的内容
vec1.swap(vec2);
// 输出交换后的内容
std::cout << "vec1: ";
for (int num : vec1) {
std::cout << num << " ";
}
std::cout << std::endl;
std::cout << "vec2: ";
for (int num : vec2) {
std::cout << num << " ";
}
std::cout << std::endl;
return 0;
}
```
输出结果为:
```
vec1: 4 5 6
vec2: 1 2 3
```
在这个例子中,我们使用`swap()`函数交换了`vec1`和`vec2`的内容。`vec1.swap(vec2)`将`vec1`中的元素与`vec2`中的元素进行了交换。最终,`vec1`变为`{4, 5, 6}`,而`vec2`变为`{1, 2, 3}`。