• cb41a_c++_STL_算法_填充新值fill_generate


    cb41a_c++_STL_算法_填充新值fill_generate
    fill(b,e,v)
    fill_n(b,n,v),填充n个v
    generate(b,e,p)
    generate_n(b,n,p)

    generate_n(back_inserter(ilist), 5, rand);//插入5个随机数,rand是个随机数函数


    STL算法-修改性算法
    for_each()
    copy()
    copy_backward()
    transform()
    merge()
    swap_ranges()
    fill()
    fill_n()

    generate()
    generate_n()
    replace()
    replace_if()
    replace_copy()
    replace_copy_if()

      1 /*cb41a_c++_STL_算法_填充新值fill_generate
      2 fill(b,e,v)
      3 fill_n(b,n,v),填充n个v
      4 generate(b,e,p)
      5 generate_n(b,n,p)
      6 
      7 generate_n(back_inserter(ilist), 5, rand);//插入5个随机数,rand是个随机数函数
      8 
      9 
     10 STL算法-修改性算法
     11 for_each()
     12 copy()
     13 copy_backward()
     14 transform()
     15 merge()
     16 swap_ranges()
     17 fill()
     18 fill_n()
     19 
     20 generate()
     21 generate_n()
     22 replace()
     23 replace_if()
     24 replace_copy()
     25 replace_copy_if()
     26 */
     27 
     28 #include <iostream>
     29 #include <algorithm>
     30 #include <vector>
     31 #include <list>
     32 #include <string>
     33 #include <iterator>
     34 
     35 
     36 using namespace std;
     37 
     38 int main()
     39 {
     40     list<string> slist;
     41     slist.push_back("hello");
     42     //slist.push_back("hi");
     43     slist.push_back("helaaalo");
     44     slist.push_back("morning");
     45     fill(slist.begin(), slist.end(), "hao");
     46 
     47     for (list<string>::iterator iter = slist.begin(); iter != slist.end(); ++iter)
     48         cout << *iter << ' ';
     49     cout << endl;
     50 
     51     list<string> slist2;
     52     cout << "slist2里面没有数据,就需要back_inserter来插入,否则报错" << endl;
     53     fill_n(back_inserter(slist2), 9, "hello");
     54     for (list<string>::iterator iter = slist2.begin(); iter != slist2.end(); ++iter)
     55         cout << *iter << ' ';
     56     cout << endl;
     57 
     58     cout << "直接填充到cout输出流里面" << endl;
     59     fill_n(ostream_iterator<float>(cout, " "), 10, 7.7);
     60     cout << endl;
     61 
     62     fill(slist2.begin(), slist2.end(), "again");
     63     for (list<string>::iterator iter = slist2.begin(); iter != slist2.end(); ++iter)
     64         cout << *iter << ' ';
     65     cout << endl;
     66 
     67     fill_n(slist2.begin(), slist2.size() - 2, "hi");//填充(slist2.size() - 2)个hi
     68     
     69     for (list<string>::iterator iter = slist2.begin(); iter != slist2.end(); ++iter)
     70         cout << *iter << ' ';
     71     cout << endl;
     72 
     73     list<string>::iterator pos1, pos2;
     74     pos1 = slist2.begin();
     75     pos2 = slist2.end();
     76 
     77     cout << "除了前后一个。中间填充hmmm" << endl;
     78 
     79     fill(++pos1, --pos2, "hmmm");
     80 
     81     for (list<string>::iterator iter = slist2.begin(); iter != slist2.end(); ++iter)
     82         cout << *iter << ' ';
     83     cout << endl;
     84 
     85     cout << "使用generate填充5个随机数" << endl;
     86 
     87     list<int> ilist;
     88     generate_n(back_inserter(ilist), 5, rand);//插入5个随机数
     89     for (list<int>::iterator iter = ilist.begin(); iter != ilist.end(); ++iter)
     90         cout << *iter << ' ';
     91     cout << endl;
     92 
     93     cout << "使用generate填充随机数" << endl;
     94     generate(ilist.begin(), ilist.end(), rand);
     95     for (list<int>::iterator iter = ilist.begin(); iter != ilist.end(); ++iter)
     96         cout << *iter << ' ';
     97     cout << endl;
     98 
     99 
    100     return 0;
    101 }
    欢迎讨论,相互学习。 txwtech@163.com
  • 相关阅读:
    Help-IntelliJIDEA-2019.3.4-基础设置:6. 开启自动编译
    Help-IntelliJIDEA-2019.3.4-基础设置:5.Tomcat Server
    Help-IntelliJIDEA-2019.3.4-基础设置:4.自动导包和智能移除 (默认配置)
    Help-IntelliJIDEA-2019.3.4-基础设置:3. 版本控制Git
    Help-IntelliJIDEA-2019.3.4-基础设置:2. 全局Maven(默认配置)
    Help-IntelliJIDEA-2019.3.4-基础设置:1. 全局JDK(默认配置)
    Help-IntelliJIDEA-2019.3.4:IntelliJ IDEA 使用教程
    汉语-词语:笃行
    去除某个元素的属性
    select选中
  • 原文地址:https://www.cnblogs.com/txwtech/p/12353182.html
Copyright © 2020-2023  润新知