iter_swap

来源:互联网 发布:深度卷积网络进展 编辑:程序博客网 时间:2024/05/18 01:57
#include <iostream>using std::cout;using std::endl;#include <algorithm>#include <iterator>int main(){   int a[ 10 ] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };   std::ostream_iterator< int > output( cout, " " );   cout << "Array a contains:\n   ";   std::copy( a, a + 10, output );   std::iter_swap( &a[ 0 ], &a[ 1 ] ); // swap with iterators   cout << "\nArray a after swapping a[0] and a[1] using iter_swap:\n   ";   std::copy( a, a + 10, output );   cout << endl;   return 0;}/* Array a contains:   1 2 3 4 5 6 7 8 9 10Array a after swapping a[0] and a[1] using iter_swap:   2 1 3 4 5 6 7 8 9 10 */          
#include <iostream>#include <list>#include <algorithm>using namespace std;/* PRINT_ELEMENTS() * - prints optional C-string optcstr followed by * - all elements of the collection coll * - separated by spaces */template <class T>inline void PRINT_ELEMENTS (const T& coll, const char* optcstr=""){    typename T::const_iterator pos;    std::cout << optcstr;    for (pos=coll.begin(); pos!=coll.end(); ++pos) {        std::cout << *pos << ' ';    }    std::cout << std::endl;}int main(){    list<int> coll;    // insert elements from 1 to 9    for (int i=1; i<=9; ++i) {        coll.push_back(i);    }    PRINT_ELEMENTS(coll);    // swap first and second value    iter_swap (coll.begin(), ++coll.begin());    PRINT_ELEMENTS(coll);    // swap first and last value    iter_swap (coll.begin(), --coll.end());    PRINT_ELEMENTS(coll);}/* 1 2 3 4 5 6 7 8 92 1 3 4 5 6 7 8 99 1 3 4 5 6 7 8 2 */