// algo/swap1.cpp #include "algostuff.hpp" using namespace std; int main() { vector coll1; deque coll2; INSERT_ELEMENTS(coll1,1,9); INSERT_ELEMENTS(coll2,11,23); PRINT_ELEMENTS(coll1,"coll1: "); PRINT_ELEMENTS(coll2,"coll2: "); // Элементы coll1 меняются местами с соответствующими элементами coll2 deque::iterator pos; pos = swap_ranges (coll1.begin(), coll1.end(), // Первый интервал coll2.begin()); // Второй интервал PRINT_ELEMENTS(coll1,"\ncoll1: "); PRINT_ELEMENTS(coll2,"coll2: "); if (pos != coll2.end()) { cout << "first element not modified: " << *pos << endl; } // Зеркальный обмен трех первых элементов coll2 // с тремя последними элементами swap_ranges (coll2.begin(), coll2.begin()+3, // Первый интервал coll2.rbegin()); // Второй интервал PRINT_ELEMENTS(coll2,"\ncoll2: "); }