STL: 打印集合

汇总打印集合的方法

1. for_each

template<class T>
struct display
{
    void operator()(const T& val){
        cout<<val<<' ';
    }
};

int main()
{
    vector<int> vec(10);
    iota(vec.begin(),vec.end(),1);
    random_shuffle(vec.begin(),vec.end());

    for_each(vec.begin(),vec.end(),display<int>());

    cout<<endl;
}

 

2. copy

int main()
{
    vector<int> vec(10);
    iota(vec.begin(),vec.end(),1);
    random_shuffle(vec.begin(),vec.end());

    copy(vec.begin(),vec.end(),ostream_iterator<int>(cout," "));

    cout<<endl;
}

 

posted @ 2013-03-11 09:58  freewater  阅读(218)  评论(0编辑  收藏  举报