C++算法 iter_swap()交换两个迭代器a和b指向的元素。
iter_swap - 语法
template <class ForwardIterator1, class ForwardIterator2>
void iter_swap (ForwardIterator1 a, ForwardIterator2 b);
iter_swap - 参数
a :要交换其值的正向迭代器之一。
b :要交换其值的正向迭代器的第二个。
iter_swap - 返回值
没有
iter_swap - 例子1
让我们看一个简单的示例来演示iter_swap()的用法:
#include <algorithm>
#include <iostream>
#include <vector>
#include <iterator>
using namespace std;
int main() {
vector<int> v1 = {
1, 2, 3 };
vector<int> v2 = {
4, 5, 6 };
iter_swap(v1.begin()+1, v2.begin()+2);
cout << "v1: ";
copy(v1.begin(), v1.end(), ostream_iterator<int>(cout, ", "));
cout << endl;
cout << "v2: ";
copy(v2.begin(), v2.end(), ostream_iterator<int>(cout, ", "));
cout << endl;
return 0;
}
输出:
v1: 1, 6, 3, v2: 4, 5, 2,
iter_swap - 例子2
让我们看另一个简单的例子:
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main()
{
//Declaring first vector
vector<int> v1;
int i;
for (i = 0; i < 10; ++i) {
v1.push_back(i);
}