算法之旅,直奔<algorithm>之八 copy_n

来源:互联网 发布:2016上海程序员工资 编辑:程序博客网 时间:2024/05/24 04:23

copy_n(vs2010版本)

  • 引言
这是我学习总结<algorithm>的第八篇,我觉得copy_n比copy在实际应用中更多一些。它指定了要复制的元素的个数。
  • 作用
copy_n 作用是将一些连续地址的数据的前n个元素复制到一个新的容器里,并返回容器里的剩下的元素的首向量。
  • 原理
template<class InputIterator, class Size, class OutputIterator>  OutputIterator copy_n (InputIterator first, Size n, OutputIterator result){  while (n>0) {    *result = *first;    ++result; ++first;    --n;  }  return result;}


  • 实验
将数据集合{10,20,30,40,50,60,70}里的前五个元素复制到容器里,然后输出返回值,返回值为int初始默认值0,也就是容器里的第六个元素向量。

         
  • 代码
#include <iostream>     // std::cout#include <algorithm>    // std::copy#include <vector>       // std::vectorint main () {int myints[]={10,20,30,40,50,60,70};std::vector<int> myvector;myvector.resize(7);   // allocate space for 7 elementsstd::cout<<*(std::copy_n ( myints, 5, myvector.begin() ))<<"\n";std::cout << "myvector contains:";for (std::vector<int>::iterator it = myvector.begin(); it!=myvector.end(); ++it)std::cout << ' ' << *it;std::cout << '\n';system("pause");return 0;}


0 0
原创粉丝点击