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()

 /*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()
*/ #include <iostream>
#include <algorithm>
#include <vector>
#include <list>
#include <string>
#include <iterator> using namespace std; int main()
{
list<string> slist;
slist.push_back("hello");
//slist.push_back("hi");
slist.push_back("helaaalo");
slist.push_back("morning");
fill(slist.begin(), slist.end(), "hao"); for (list<string>::iterator iter = slist.begin(); iter != slist.end(); ++iter)
cout << *iter << ' ';
cout << endl; list<string> slist2;
cout << "slist2里面没有数据,就需要back_inserter来插入,否则报错" << endl;
fill_n(back_inserter(slist2), , "hello");
for (list<string>::iterator iter = slist2.begin(); iter != slist2.end(); ++iter)
cout << *iter << ' ';
cout << endl; cout << "直接填充到cout输出流里面" << endl;
fill_n(ostream_iterator<float>(cout, " "), , 7.7);
cout << endl; fill(slist2.begin(), slist2.end(), "again");
for (list<string>::iterator iter = slist2.begin(); iter != slist2.end(); ++iter)
cout << *iter << ' ';
cout << endl; fill_n(slist2.begin(), slist2.size() - , "hi");//填充(slist2.size() - 2)个hi for (list<string>::iterator iter = slist2.begin(); iter != slist2.end(); ++iter)
cout << *iter << ' ';
cout << endl; list<string>::iterator pos1, pos2;
pos1 = slist2.begin();
pos2 = slist2.end(); cout << "除了前后一个。中间填充hmmm" << endl; fill(++pos1, --pos2, "hmmm"); for (list<string>::iterator iter = slist2.begin(); iter != slist2.end(); ++iter)
cout << *iter << ' ';
cout << endl; cout << "使用generate填充5个随机数" << endl; list<int> ilist;
generate_n(back_inserter(ilist), , rand);//插入5个随机数
for (list<int>::iterator iter = ilist.begin(); iter != ilist.end(); ++iter)
cout << *iter << ' ';
cout << endl; cout << "使用generate填充随机数" << endl;
generate(ilist.begin(), ilist.end(), rand);
for (list<int>::iterator iter = ilist.begin(); iter != ilist.end(); ++iter)
cout << *iter << ' ';
cout << endl; return ;
}

cb41a_c++_STL_算法_填充新值fill_generate的更多相关文章

  1. STL_算法_填充新值(fill、fill_n、generate、generate_n)

    C++ Primer 学习中... 简单记录下我的学习过程 (代码为主) 全部容器适用 fill(b,e,v)             //[b,e)   填充成v fill_n(b,n,v)     ...

  2. cb43a_c++_STL_算法_删除_(1)remove_remove_if

    cb43a_c++_STL_算法_删除_(1)remove_remove_ifremove()remove_if() 注意:1.并不是真正的删除,而是把后面的元素向前移动,覆盖被删除元素,元素个数并没 ...

  3. cb50a_c++_STL_算法_局部排序partial_sort

    cb50a_c++_STL_算法_局部排序partial_sort partial_sort(b,se,e)排序一部分,begin,source end,endcout << " ...

  4. cb47a_c++_STL_算法_排列组合next_prev_permutation

    cb47a_c++_STL_算法_排列组合next_prev_permutation 使用前必须先排序.必须是 1,2,3或者3,2,1.否者结果不准确.如果, 1,2,4,6.这样数据不会准确nex ...

  5. cb46a_c++_STL_算法_逆转和旋转reverse_rotate函数advance

    cb46a_c++_STL_算法_逆转和旋转reverse_rotateSTL算法--变序性算法reverse() 逆转reverse_copy()一边复制一般逆转rotate()旋转,某个位置开始前 ...

  6. cb42a_c++_STL_算法_替换_replace

    cb42a_c++_STL_算法_替换_replacereplace(b,e,ov,nv),ov,old value, nv,new valuereplace_if(b,e,p,v) 根据p的条件,全 ...

  7. cb36a_c++_STL_算法_区间的比较equal_mismatch_lexicographical_compare

    *cb36a_c++_STL_算法_区间的比较equal_mismatch_lexicographical_compare 区间:容器中的全部数据或者部分数据,都叫做区间 equal(b,e,b2), ...

  8. cb34a_c++_STL_算法_查找算法_(7)_lower_bound

    cb34a_c++_STL_算法_查找算法_(7)_lower_bound//针对已序区间的查找算法,如set,multiset关联容器-自动排序lower_bound()--第一个可能的位置uppe ...

  9. cb32a_c++_STL_算法_查找算法_(5)adjacent_find

    cb32a_c++_STL_算法_查找算法_(5)adjacent_findadjacent_find(b,e),b,begin(),e,end()adjacent_find(b,e,p),p-par ...

随机推荐

  1. 织梦DEDECMS网站如何生成xml格式网站地图

    这个很简单,按照我下边提供的方法进行操作就可以了,我一直在用 第一步,登陆DedeCMS后台:核心 - 频道模型- 自由列表管理,点击添加列表: 参数按照下边的填写: 自由列表标题:[XML地图] 列 ...

  2. SPL数据结构

    数据结构是计算机存储.组织数据的方式. SPL提供了双向链表.堆栈.队列.堆.降序堆.升序堆.优先级队列.定长数组.对象容器. 基本概念Bottom:节点,第一个节点称Bottom:Top:最后添加的 ...

  3. vim的基础命令

    :q 退出 :wq 保存并退出 :q! 不保存并退出 :w 保存 :w! 强行保存

  4. html5拖动监听

    在拖动目标上触发事件 (源元素): ondragstart - 用户开始拖动元素时触发 ondrag - 元素正在拖动时触发 ondragend - 用户完成元素拖动后触发 释放目标时触发的事件: o ...

  5. JMeter中BeanShell Sampler

    https://blog.51cto.com/11009785/2385492?source=dra 1.jmeter报错 jmeter.protocol.java.sampler.BeanShell ...

  6. 网络编程杂谈之TCP协议

    TCP协议属于网络分层中的传输层,传输层作用的就是建立端口与端口的通信,而其下一层网络层的主要作用是建立"主机到主机"的通信,所以在我们日常进行网络编程时只要确定主机和端口,就能实 ...

  7. 彻底理解JavaScript ES6中的import和export

    0.前言 前端工程,在最早的时候是没有模块的概念的.随着前端工程的发展,前端开发也越来越规范化,更像是软件工程了.那么随之而来的,为了解决工程化的问题,就引入了模块的概念.但是在早期,因为ecmasc ...

  8. element-ui上传组件,通过自定义请求上传文件

    记录使用element-ui上传组件,通过自定义请求上传文件需要注意的地方. <el-upload ref="uploadMutiple" :auto-upload=&quo ...

  9. Java学习之路【第一篇】:前言

    Java 语言概述 一.什么是Java语言 Java语言是美国Sun公司(Stanford University Network),在1995年推出的高级的编程语言.所谓编程语言,是计算机的语言,人们 ...

  10. Linux 任务后台运行软件【即:终端复用器】之---screen

    会话: 命令行的典型使用方式是,打开一个终端窗口(terminal window,以下简称"窗口"),在里面输入命令. 用户与计算机的这种临时的交互,称为一次"会话&qu ...