#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的更多相关文章

  1. STL: fill,fill_n,generate,generate_n

    fill Assigns the same new value to every element in a specified range. template<class ForwardIter ...

  2. 填充整个区间(fill,fill_n,generate和generate_n)

    fill 将value值填充整个区间,不能为OutputIterator,因为fill会用到first和last,outputIterator无法做相等的测试 template <class F ...

  3. STL--STL和她的小伙伴们:

    STL--概述: 标准模板库(StandardTemplateLibrary,STL),是C++程序设计语言标准模板库.STL是由Alexander Stepanov.Meng Lee和David R ...

  4. STL六大组件之——算法小小小小的解析

    参考自侯捷的<stl源码剖析> stl算法主要分为非可变序列算法(指不直接修改其所操作的容器内容的算法),可变序列算法(指可以修改它们所操作的容器内容的算法),排序算法(包括对序列进行排序 ...

  5. 变易算法 - STL算法

    欢迎访问我的新博客:http://www.milkcu.com/blog/ 原文地址:http://www.milkcu.com/blog/archives/mutating-algorithms.h ...

  6. STL常用遍历算法for_each和transform的比较

    for_each()和transform()算法比较 1)STL 算法 – 修改性算法  for_each()  copy()  copy_backward()  transform()  merge ...

  7. C++ STL 常用遍历算法

    C++ STL 常用遍历算法 STL的容器算法迭代器的设计理念 1) STL的容器通过类模板技术,实现数据类型和容器模型的分离 2) STL的迭代器技术实现了遍历容器的统一方法:也为STL的算法提供了 ...

  8. STL经常使用遍历算法for_each和transform的比較

    for_each()和transform()算法比較 1)STL 算法 – 改动性算法  for_each()  copy()  copy_backward()  transform()  merge ...

  9. 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 ...

随机推荐

  1. 前端(HTML)+后端(Django)+数据库(MySQL):用户注册及登录演示

    1.创建一个html文件用于简单的网页注册demo <!DOCTYPE html> <html lang="en"> <head> <me ...

  2. Excel 教程一

    俗话说,工欲善其事,必先利其器,那么我们今天就先来看一下这个excel软件的一些主要功能菜单. 一.功能区菜单 功能区菜单主要包括: 文件菜单:  主要用于新建文件,保存文件,另存为文件,打开文件,打 ...

  3. layui模块化使用

    layui模块化使用分为两部分: 1.自身模块的设置与使用.2.自定义模块的设置与使用.直接上案例吧 <a>加载入口模块与自定义模块设置: <b>自定义模块名 <c> ...

  4. mongodb 启动数据库失败原因及解决办法

    刚开始接触mongodb 每次启动完数据库  用好之后退出时直接 command+q强制退出了 导致了下一次数据库启动失败 错误原因: 上一次退出数据库端口号并没有杀死 解决办法 lsof -i tc ...

  5. nginx中ngx_http_core_module模块

    http核⼼心模块指令:套接字相关的配置3.1 server{ }设置虚拟服务器器的配置Syntax: server { ... }Default: —Context: httpserver {lis ...

  6. ASP.Net用户控件的使用

    一.概述: 与WEB窗体页相同,程序员可以使用任何文本编辑器创作用户控件,或者使用代码隐藏类开发用户控件.此外,与WEB窗体页一样,用户控件可以在第一次请求时被编译并存储在服务器内存中,从而缩短以后请 ...

  7. mysql数据表结构查询

    select * from ( select '表名', '字段名', '字段类型', '默认值', '是否可空', '注释', '主键' UNION ( SELECT a.TABLE_NAME '表 ...

  8. 使用 uni-app 开发遇到的问题

    想法: uni-app 给我的感觉就像是把微信小程序的API,组件和vue的语法揉捏在一起所组成框架,没有原生小程序和vue那种流畅感,官方的 uni-ui 组件库不够成熟,坑比较多.   问题一:自 ...

  9. Windows开发:窗口最大化问题

    MoveWindow(0, 0, 1920, 1080)和SendMessage(WM_SYSCOMMAND, SC_MAXIMIZE, 0)的区别 MoveWindow(, , , ); 我们可以分 ...

  10. 基本操作-MySQL

    创建: 主键约束: 单字段: id int(11) primary key 或者 primary key(id) 多字段: primary key(id,name) 外键约束: constraint ...