C++ fill fill_n generate generate_n
#include <iostream>
#include <algorithm>
#include <vector>
#include <list>
#include <string>
#include <functional>
#include<iterator>
using namespace std;
int main()
{
list<string> list1;
list1.push_back("A");
list1.push_back("B");
list1.push_back("C");
list<string>::iterator list_iter1;
for (list_iter1 = list1.begin(); list_iter1 != list1.end(); ++list_iter1)
{
cout << *list_iter1 << " ";
}
cout << endl;
cout << "------------------------------------------" << endl;
fill(list1.begin(), list1.end(), "D");
for (list_iter1 = list1.begin(); list_iter1 != list1.end(); ++list_iter1)
{
cout << *list_iter1 << " ";
}
cout << endl;
cout << "------------------------------------------" << endl;
list<string> list2;
for (int k=0;k<12;k++)
{
list2.push_back("E");
}
list<string>::iterator list_iter2;
for (list_iter2 = list2.begin(); list_iter2 != list2.end(); ++list_iter2)
{
cout << *list_iter2 << " ";
}
cout << endl;
cout << "------------------------------------------" << endl;
fill_n(list2.begin(), 9, "F");
for (list_iter2 = list2.begin(); list_iter2 != list2.end(); ++list_iter2)
{
cout << *list_iter2 << " ";
}
cout << endl;
cout << "------------------------------------------" << endl;
list<int> list3;
generate_n(back_inserter(list3), 5, rand);
list<int>::iterator list_iter3;
for (list_iter3 = list3.begin(); list_iter3 != list3.end(); ++list_iter3)
{
cout << *list_iter3<< " ";
}
cout << endl;
cout << "------------------------------------------" << endl;
generate(list3.begin(), list3.end(), rand);
for (list_iter3 = list3.begin(); list_iter3 != list3.end(); ++list_iter3)
{
cout << *list_iter3 << " ";
}
cout << endl;
cout << "------------------------------------------" << endl;
system("pause");
return 0;
}
====================================================
A B C
------------------------------------------
D D D
------------------------------------------
E E E E E E E E E E E E
------------------------------------------
F F F F F F F F F E E E
------------------------------------------
41 18467 6334 26500 19169
------------------------------------------
15724 11478 29358 26962 24464
------------------------------------------
请按任意键继续. . .
C++ fill fill_n generate generate_n的更多相关文章
- STL: fill,fill_n,generate,generate_n
fill Assigns the same new value to every element in a specified range. template<class ForwardIter ...
- 填充整个区间(fill,fill_n,generate和generate_n)
fill 将value值填充整个区间,不能为OutputIterator,因为fill会用到first和last,outputIterator无法做相等的测试 template <class F ...
- STL--STL和她的小伙伴们:
STL--概述: 标准模板库(StandardTemplateLibrary,STL),是C++程序设计语言标准模板库.STL是由Alexander Stepanov.Meng Lee和David R ...
- STL六大组件之——算法小小小小的解析
参考自侯捷的<stl源码剖析> stl算法主要分为非可变序列算法(指不直接修改其所操作的容器内容的算法),可变序列算法(指可以修改它们所操作的容器内容的算法),排序算法(包括对序列进行排序 ...
- 变易算法 - STL算法
欢迎访问我的新博客:http://www.milkcu.com/blog/ 原文地址:http://www.milkcu.com/blog/archives/mutating-algorithms.h ...
- STL常用遍历算法for_each和transform的比较
for_each()和transform()算法比较 1)STL 算法 – 修改性算法 for_each() copy() copy_backward() transform() merge ...
- C++ STL 常用遍历算法
C++ STL 常用遍历算法 STL的容器算法迭代器的设计理念 1) STL的容器通过类模板技术,实现数据类型和容器模型的分离 2) STL的迭代器技术实现了遍历容器的统一方法:也为STL的算法提供了 ...
- STL经常使用遍历算法for_each和transform的比較
for_each()和transform()算法比較 1)STL 算法 – 改动性算法 for_each() copy() copy_backward() transform() merge ...
- cb41a_c++_STL_算法_填充新值fill_generate
cb41a_c++_STL_算法_填充新值fill_generatefill(b,e,v)fill_n(b,n,v),填充n个vgenerate(b,e,p)generate_n(b,n,p) gen ...
随机推荐
- 爬虫如何发现更多的url呢,怎么动态收集新的url连接
大家在做爬虫采集数据的时候很多都会遇到增量采集的问题,有些时候是通过过滤url来进行的,有些是通过爬取网页后再进行分析判断, 以上这些过程也许大部分做爬虫的都会这么做,各位有没有想过, 除了以上的常用 ...
- linux 欢迎界面
开博第一篇文章,简单地写一篇linux欢迎界面吧 可以通过修改/etc/motd 或/etc/issue两个文件实现修改登录显示 区别:/etc/motd:( 登录成功才会显示 ) /etc/issu ...
- Kinect for Windows SDK开发入门(二):基础知识 上
原文来自:http://www.cnblogs.com/yangecnu/archive/2012/03/31/KinectSDK_Application_Fundamentals_Part1.htm ...
- layer学习
layer版本v2.1 1,layer的alert可以传标题的: layer.alert("测试layer弹窗===========", {title:"温馨提示&quo ...
- webpack与浏览器缓存
根据之前的配置,假设文件上传至服务器中,没有加hash,如果页面内容有更改,浏览器刷新的时候,请求的还是原先的文件,也就是浏览器的缓存,因为名字没有变.现在我们在上线的webpack配置中加上hash ...
- 单播、广播和多播IP地址
除地址类别外,还可根据传输的消息特征将IP地址分为单播.广播或多播.主机使用IP地址进行一对一(单播).一对多(多播)或一对所有(广播)的通信. 1.单播 单播地址是IP网络中最常见的.包含单播目标地 ...
- v-solt插槽
https://www.jb51.net/article/157565.htm https://juejin.im/post/5c64e11151882562e4726d98
- Codeforces Round #426 (Div. 2) B题【差分数组搞一搞】
B. The Festive Evening It's the end of July – the time when a festive evening is held at Jelly Castl ...
- HTML的基础
HTML:超文本标记语言 超文本包括:文字.图片.音频.视频.动画等 流程:写好HTML代码后通过浏览器(自动编译HTML代码)展现出效果 HTM ...
- moment.js 日期转换工具
官方网站: http://momentjs.cn/ 文档: https://itbilu.com/nodejs/npm/4Jxk-Ti-l.html https://www.jianshu.com/p ...