#include <stdio.h>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
// 初期設定
vector<int> v1 {0, 1, 2, 3, 4};
printf("v1 :");
for (auto x : v1)
printf(" %d", x);
printf("\n");
vector<int> v2 {10, 20, 30, 40, 50};
printf("v2 :");
for (auto x : v2)
printf(" %d", x);
printf("\n");
// v1 と v2 を交換する
printf("v1 と v2 を交換する(最初の 3 個だけ,swap_ranges)\n");
swap_ranges(v1.begin(), v1.begin()+3, v2.begin());
printf(" v1 :");
for (auto x : v1)
printf(" %d", x);
printf("\n");
printf(" v2 :");
for (auto x : v2)
printf(" %d", x);
printf("\n");
printf("v1 と v2 を交換する(swap)\n");
v1.swap(v2);
printf(" v1 :");
for (auto x : v1)
printf(" %d", x);
printf("\n");
printf(" v2 :");
for (auto x : v2)
printf(" %d", x);
printf("\n");
// v1 の 2 番目と v2 の 3 番目の要素を交換する
printf("v1 の 2 番目と v2 の 3 番目の要素を交換する\n");
iter_swap(v1.begin()+1, v2.begin()+2);
printf(" v1 :");
for (auto x : v1)
printf(" %d", x);
printf("\n");
printf(" v2 :");
for (auto x : v2)
printf(" %d", x);
printf("\n");
return 0;
}