C ++ STL | vector :: swap()函数与示例
C++STLvector::swap()函数
vector::swap()函数用于交换/交换相同类型的两个向量的内容,它们的大小可能不同。
vector1的内容与vector2的内容交换。向量必须具有相同的类型,即两个向量均为int,string,long等类型。
两个矢量都必须具有相同的大小是不必要的,即,两个矢量的大小可以彼此不同。
注意:调用此函数后,两个容器/向量均被修改。
vector::swap()函数的语法
vector1.swap(vector2);
参数:vector2–与另一个向量我们必须交换第一个向量vector1的内容。
返回值:void–不返回任何内容。
时间复杂度:O(1),即恒定阶数
示例
Input:
vector<int> vector1{ 1, 2, 3, 4, 5 };
vector<int> vector2{ 6, 7, 8, 9, 10 };
Function call:
vector1.swap(vector2);
Output:
Vector1: 1 2 3 4 5
Vector2: 6 7 8 9 10
After swapping...
Vector1: 6 7 8 9 10
Vector2: 1 2 3 4 5C++程序演示vector::swap()函数的示例
#include <iostream>
#include <vector>
using namespace std;
int main(){
vector<int> vector1{ 1, 2, 3, 4, 5 };
vector<int> vector2{ 6, 7, 8, 9, 10 };
//交换vector-1和vector-2之前
cout << "Vector 1" << endl;
for (auto i : vector1)
cout << i << " ";
cout << "\n";
cout << "Vector 2" << endl;
for (auto i : vector2)
cout << i << " ";
cout << "\n";
//交换vector-1和vector-2-
vector1.swap(vector2);
//交换vector-1和vector-2之后
cout << "Vector 1" << endl;
for (auto i : vector1)
cout << i << " ";
cout << "\n";
cout << "Vector 2" << endl;
for (auto i : vector2)
cout << i << " ";
return 0;
}输出结果
Vector 1 1 2 3 4 5 Vector 2 6 7 8 9 10 Vector 1 6 7 8 9 10 Vector 2 1 2 3 4 5