📅  最后修改于: 2020-10-16 09:15:38             🧑  作者: Mango
C++ STL algorithm.copy_backward()函数用于按向后顺序复制元素,它接受三个参数,然后复制属于[first,last]范围的元素。元素的复制以相反的顺序开始,终止点为“结果”。
template
BidirectionalIterator2 copy_backward(BidirectionalIterator1 first, BidirectionalIterator1 last, BidirectionalIterator2 result);
first:它是范围中第一个元素的双向迭代器,其中元素本身包含在范围中。
last:它是范围最后一个元素的双向迭代器,其中元素本身不包含在范围中。
结果:它是复制元素最终位置的双向迭代器。
该函数将第一个元素的迭代器返回到复制元素的序列。
#include
#include
#include
int main ()
{ std::vector 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::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
从第一个元素到最后一个元素,函数的复杂度是线性的。
访问某些或所有容器对象。
如果任何容器元素抛出一个异常,该函数将引发异常。