📜  C++ STL-algorithm.copy_backward()函数

📅  最后修改于: 2020-10-16 09:15:38             🧑  作者: Mango

C++ STL algorithm函数copy_backward()

C++ STL algorithm.copy_backward()函数用于按向后顺序复制元素,它接受三个参数,然后复制属于[first,last]范围的元素。元素的复制以相反的顺序开始,终止点为“结果”。

句法

template
BidirectionalIterator2 copy_backward(BidirectionalIterator1 first, BidirectionalIterator1 last, BidirectionalIterator2 result);

参数

first:它是范围中第一个元素的双向迭代器,其中元素本身包含在范围中。

last:它是范围最后一个元素的双向迭代器,其中元素本身不包含在范围中。

结果:它是复制元素最终位置的双向迭代器。

返回值

该函数将第一个元素的迭代器返回到复制元素的序列。

例子1

#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

复杂度

从第一个元素到最后一个元素,函数的复杂度是线性的。

数据竞争

访问某些或所有容器对象。

异常处理

如果任何容器元素抛出一个异常,该函数将引发异常。