zoukankan      html  css  js  c++  java
  • 【STL】-迭代器的用法

    初始化:

    list<char>::iterator pos;

    算法:

    1. 遍历

      for(pos = col1.begin(); pos != col1.end(); ++pos){...}

    代码:

     1 #include <iostream>
     2 #include <vector>
     3 #include <deque>
     4 #include <set>
     5 #include <algorithm>
     6 #include <iterator> //for ostream_iterator&istream_iterator
     7 #include "utility.h"
     8 using namespace std;
     9 
    10 int main() {
    11     vector<int> v;
    12     vector<int>::iterator pos;
    13 
    14     for(int i = 6; i >= 1; i--)
    15         v.push_back(i);
    16 
    17     //back_inserter调用push_back(), 适用于vector, deque, list
    18     vector<int> col1;
    19     copy(v.begin(), v.end(), back_inserter(col1));
    20     PRINT_ELEMENT(col1);
    21 
    22     //front_inserter调用push_front(),适用于deque, list
    23     deque<int> col2;
    24     copy(v.begin(), v.end(), front_inserter(col2));
    25     PRINT_ELEMENT(col2);
    26 
    27     //inserter调用inserter(), 适用于所有容器
    28     set<int> col3;
    29     copy(v.begin(), v.end(), inserter(col3, col3.end()));
    30     PRINT_ELEMENT(col3);
    31 
    32     //ostream iterator
    33     copy(col3.rbegin(), col3.rend(), ostream_iterator<int>(cout, " "));
    34     cout << endl;
    35 
    36     //istream iterator
    37     vector<string> col4;
    38     copy(istream_iterator<string>(cin), istream_iterator<string>(), back_inserter(col4));
    39     PRINT_ELEMENT(col4);
    40     return 0;
    41 }

    输出:

    $ ./a.exe
    content:
    6 5 4 3 2 1
    content:
    1 2 3 4 5 6
    content:
    1 2 3 4 5 6
    6 5 4 3 2 1
    abd adfasdf assdfasdf afewaf 1a `1111 adsfasdf
    content:
    abd adfasdf assdfasdf afewaf 1a `1111 adsfasdf
  • 相关阅读:
    [BZOJ3223] [Tyvj1729] 文艺平衡树 (splay)
    [BZOJ3098] Hash Killer II
    [BZOJ3000] Big Number (Stirling公式)
    [BZOJ2048] [2009国家集训队] 书堆
    [BZOJ1707] [Usaco2007 Nov] tanning分配防晒霜 (贪心)
    BZOJ2482: [Spoj1557] Can you answer these queries II
    BZOJ2157: 旅游
    BZOJ2795: [Poi2012]A Horrible Poem
    BZOJ3681: Arietta
    BZOJ3218: a + b Problem
  • 原文地址:https://www.cnblogs.com/dracohan/p/3896927.html
Copyright © 2011-2022 走看看