Biblioteca de algoritmos C ++ - función copy_backward ()

Descripción

La función C ++ std::algorithm::copy_backward() copia una variedad de elementos en una nueva ubicación en orden inverso.

Declaración

A continuación se muestra la declaración de la función std :: algorítm :: copy_backward () del encabezado std :: algorítmico.

C ++ 98

template <class BidirectionalIterator1, class BidirectionalIterator2>
BidirectionalIterator2 copy_backward(BidirectionalIterator1 first,
   BidirectionalIterator1 last, BidirectionalIterator2 result);

Parámetros

  • first - Iteradores bidireccionales a las posiciones iniciales en una secuencia.

  • last - Iteradores bidireccionales a las posiciones finales en una secuencia.

  • result - Iterador bidireccional a la posición más allá del final en la secuencia de destino.

Valor devuelto

Devuelve un iterador al primer elemento de la secuencia de destino donde se han copiado los elementos.

Excepciones

Lanza una excepción si la asignación de elementos o una operación en un iterador arroja una excepción.

Tenga en cuenta que los parámetros no válidos provocan un comportamiento indefinido.

Complejidad del tiempo

Lineal en la distancia entre el primero y el último .

Ejemplo

El siguiente ejemplo muestra el uso de la función std :: algorítm :: copy_backward ().

#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

int main(void) {
   vector<int> v1 = {1, 2, 3, 4, 5};
   vector<int> v2(5);

   copy_backward(v1.begin(), v1.end(), v2.end());

   cout << "Vector v2 contains following elements" << endl;

   for (auto it = v2.begin(); it != v2.end(); ++it)
      cout << *it << endl;

   return 0;
}

Compilemos y ejecutemos el programa anterior, esto producirá el siguiente resultado:

Vector v2 contains following elements
1
2
3
4
5