, , . . , , , , .
. T, . swap(T &, T&), , template <class T> std::swap .
swap, , - , , , , std::swap , .
using :
using namespace std;
template <class T>
mysort(/* ... */ ) {
if (less(x[a], x[b])
swap(x[a], x[b]);
}
, , T, swap(T &, T&), . , std::swap ( ), using namespace std; .
, , using namespace x; . , . , , . , , , , , - .
, using namespace x;, , , . , , , , , , .
, , , , , , , , - .