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 5
#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