swap関数は2つの要素を入れ替えます。たとえば、a,bというvectorがあったとすれば、この要素をそっくり 入れ替えます。
また、aの中の特定の2つの要素を入れ替えることもできます。
では、簡単なサンプルを見てみましょう。
// swap01.cpp
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
vector <int> v, w;
vector <int>::iterator p;
v.push_back(10);
v.push_back(100);
v.push_back(200);
w.push_back(1);
w.push_back(2);
cout << "v:";
for (p = v.begin(); p != v.end(); p++)
cout << *p << ", ";
cout << endl;
cout << "w:";
for(p = w.begin(); p != w.end(); p++)
cout << *p << ", ";
cout << endl;
swap(v, w);
cout << "v:";
for (p = v.begin(); p != v.end(); p++)
cout << *p << ", ";
cout << endl;
cout << "w:";
for(p = w.begin(); p != w.end(); p++)
cout << *p << ", ";
cout << endl;
swap(w[0], w[2]);
cout << "w:";
for(p = w.begin(); p != w.end(); p++)
cout << *p << ", ";
cout << endl;
return 0;
}
最初にv,wの要素を示しています。次にswap関数でv,wの要素を入れ替えました。
さらに、今度はwのなかの要素を入れ替えています。
今回も簡単でした。
Update Aug/13/2005 By Y.Kumei