STL_Algorithm1: Fill, Fill_n, Generate, Generate_n

来源:互联网 发布:探究小车速度实验数据 编辑:程序博客网 时间:2024/06/11 17:11

#include<iostream>

using std::cout;

using std::endl;

#include<algorithm>

#include<vector>

#include<iterator>

 

char nextLetter();

 

int main()

{

    std::vector< char > chars( 10 );

    std::ostream_iterator< char > outputIt( cout, " " );

 

    std::fill( chars.begin(), chars.end(), '5' );

 

    cout<<"Vector chars after filling with 5s:/n";

    std::copy( chars.begin(), chars.end(), outputIt );

 

    std::fill_n( chars.begin(), 5, 'A' );

 

    cout<< "/n/nVector chars after filling five elements"

        <<" with As:/n";

    std::copy( chars.begin(), chars.end(), outputIt );

 

    std::generate( chars.begin(), chars.end(), nextLetter );

 

    cout<<"/n/nVector chars after generating letters A-J:/n";

    std::copy( chars.begin(), chars.end(), outputIt );

 

    std::generate_n( chars.begin(), 5, nextLetter );

 

    cout<<"/n/nVector chars after generating K-O for the"

        <<" first five elements:/n";

    std::copy( chars.begin(), chars.end(), outputIt );

 

    cout<<endl;

 

    return 0;

}

 

char nextLetter()

{

    static char letter = 'A';

    return letter++;

}