编辑代码

#include <iostream>
#include <vector>
#include <algorithm>
//#include <numeric>
#include <iterator>
using namespace std;
int main() {
    vector<int> vec;
    int n = 6;
    vec.push_back(1);
    for (int i = 0; i < n; i++) {
        vec.push_back(i);
        vec.push_back(i);
    }
	cout << "测试结果输出:" << endl;
    auto p = find(vec.begin(), vec.end(), 3);
	cout << "find:" << *p << endl;
    cout << "count:" << count(vec.begin(), vec.end(), 1) << endl;

    //string下的accumulate测试 定义在numeric
    //vector<string> vstr = {"I", " am", " ironman."};
    //string res = accumulate(vstr.cbegin(), vstr.cend(), string(""));
    //cout<<"res:" <<res <<endl;
    //fill测试 定义在algorithm
    vector<int> origin = {0,1,2,3,4,5,6,7,8,9};
    cout<<"origin:";
    for(auto& num : origin) {
        cout<<" "<<num;
    }
    fill(origin.begin(), origin.begin() + origin.size()/2, 3);
    cout<<"\norigin after fill:";
    for(auto& num : origin) {
        cout<<" "<<num;
    }
    //back_inserter测试 定义在iterator
    vector<int> vec1;
    fill_n(back_inserter(vec1), 10, 0);
    cout<<"\nvec1的值:";
    for (auto& num : vec1) {
        cout<< " "<< num;
    }
    //replace_copy测试
    vector<int> ivec;
    replace_copy(vec1.begin(), vec1.end(), back_inserter(ivec), 0, 13);
    cout<<"\nivec的值:";
    for (auto& num : ivec) {
        cout<< " "<< num;
    }
    
    return 0;
}