C++ copy_backward()
C++ 算法函数copy_backward()
C++ 算法copy_backward()函数用于按向后顺序复制元素,它接受三个参数,然后复制属于该元素的元素。范围[first,最后]。元素的复制以相反的顺序开始,终止点位于"结果"。
语法
template<class BidirectionalIterator1, class BidirectionalIterator2>
BidirectionalIterator2 copy_backward(BidirectionalIterator1 first, BidirectionalIterator1 last, BidirectionalIterator2 result);
参数
first: 它是范围的第一个元素的双向迭代器,其中元素本身包含在范围中。
last: 它是范围last元素的双向迭代器,其中元素本身不包含在范围中。
result: 它是复制元素最终位置的双向迭代器。
返回值
该函数将第一个元素的迭代器返回给复制的序列。
示例1
#include <iostream>
#include <algorithm>
#include <vector>
int main ()
{ std::vector<int> newvector;
for (int k=1; k<=5; k++)
newvector.push_back(k*5);
newvector.resize(newvector.size()+3);
std::copy_backward ( newvector.begin(), newvector.begin()+5, newvector.end() );
std::cout << "newvector contains:";
for (std::vector<int>::iterator ti=newvector.begin(); ti!=newvector.end(); ++ti)
std::cout << ' ' << *ti;
std::cout << '\n';
return 0;
}
输出:
newvector contains: 5 10 15 5 10 15 20 25
复杂度
该函数的复杂度从第一个元素到last元素都是线性的。
数据竞争
访问某些或所有容器对象。
异常
如果任何容器元素抛出一个异常,该函数将引发异常。