vector的swap
时间: 2023-08-26 07:16:32 浏览: 109
`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}`。
相关问题
vector swap
vector swap 是 C++ STL(标准模板库)中的一个函数,主要功能是交换两个 vector 容器的元素。其函数原型如下:
```c++
template<class T, class Alloc>
void swap(vector<T,Alloc>& x, vector<T,Alloc>& y);
```
其中,x 和 y 分别代表要交换元素的两个 vector 容器。使用该函数可以非常方便地实现两个 vector 容器的元素交换操作。例如:
```c++
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<int> vec1{1, 2, 3};
vector<int> vec2{4, 5, 6};
cout << "Before swap: " << endl;
for (auto i : vec1) {
cout << i << " ";
}
cout << endl;
for (auto i : vec2) {
cout << i << " ";
}
cout << endl;
swap(vec1, vec2);
cout << "After swap: " << endl;
for (auto i : vec1) {
cout << i << " ";
}
cout << endl;
for (auto i : vec2) {
cout << i << " ";
}
cout << endl;
return 0;
}
```
输出结果为:
```
Before swap:
1 2 3
4 5 6
After swap:
4 5 6
1 2 3
```
可以看到,使用 swap 函数可以轻松地实现两个 vector 容器的元素交换操作。
vector swap函数
vector的swap函数是用来交换两个vector容器的内容。通过调用该函数,两个容器中的元素会互相交换,使得原先在一个容器中的元素现在在另一个容器中,反之亦然。这个操作会更有效地释放内存空间,因为swap函数会将一个容器完全清空并释放其占用的内存,而另一个容器会接收这些元素并重新分配内存。这可以在需要清空一个容器并释放内存时使用,尤其是当容器中存储的元素数量较多时。使用swap函数的代码示例可以这样写:v1.swap(v2)。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [C++ vector容器的swap方法(容器互换)](https://blog.csdn.net/Demon_LMMan/article/details/115318429)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *2* *3* [C++容器std::vector的swap()函数使用](https://blog.csdn.net/feikudai8460/article/details/104902914)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文
相关推荐
















