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