C++ fill fill_n generate generate_n

时间:2019-06-12
本文章向大家介绍C++ fill fill_n generate generate_n,主要包括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
------------------------------------------
请按任意键继续. . .

原文地址:https://www.cnblogs.com/herd/p/11010268.html