C++ 算法 copy_backward()函数
C++ 算法 copy_backward() 函数用于将元素以倒序复制,接受三个参数,并复制属于范围 [first,last] 的元素。复制元素从倒序开始,终止点为 ‘result’。
语法
template<class BidirectionalIterator1, class BidirectionalIterator2>
BidirectionalIterator2 copy_backward(BidirectionalIterator1 first, BidirectionalIterator1 last, BidirectionalIterator2 result);
参数
first :它是范围第一个元素的双向迭代器,其中元素本身包含在范围内。
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
复杂度
该函数的复杂度是从第一个元素到最后一个元素呈线性增长。
数据竞争
一些或所有容器对象被访问。
异常
如果容器中的任何元素抛出异常,该函数会抛出一个异常。