当前位置:C++技术网 > 资讯 > STL变动性算法中的copy算法详解

STL变动性算法中的copy算法详解

更新时间:2016-03-23 21:53:46浏览次数:1+次

算法是STL中的一大亮点,也是代码的灵魂。STL封装了很多的算法,例如有非变动性算法,变动性算法,移除性算法,变序性算法,排序算法等。在这里,我着重讲下copy算法。copy算法能够高效的运行代码。我们先看看copy算法的定义:
copy(InputIterator sourceBeg,InputIterator sourceEnd,OutputIterator destBeg)
还有一个是copy_backward算法。在这里,我就不说这个算法的定义了。
这两个算法都是将源区间中的所有元素复制到以destBeg为起点或以destEnd为终点的目标区间去。copy()算法正向遍历序列。
copy算法最主要的两个作用,一个是初始化某一个容器,另一个是输出某容器里的元素。
第一个作用对应的代码:
copy(coll1.begin(),coll1.end(),back_inserter(coll2));
将coll1容器中的元素插到coll2容器中。
第二个作用对应的代码:
copy(coll2.begin(),coll2.end(),ostream_iterator(cout," "));
将容器coll2中的元素输出到屏幕,并以空格隔开。
我在之前的几篇文章中的代码都用到了这个算法,具体的你可以去找找。