std::move_backward en C++

Mueve los elementos en el rango [primero, último] comenzando desde el final hacia el rango que termina en el resultado.
La función comienza moviendo *(último-1) a *(resultado-1), y luego sigue hacia atrás por los elementos que los preceden, hasta llegar al primero (e incluirlo).
Modelo :

BidirectionalIterator2 move_backward (BidirectionalIterator1 first,
                                      BidirectionalIterator1 last,
                                      BidirectionalIterator2 result);

result
Bidirectional iterator to the past-the-end position in the destination sequence.
This shall not point to any element in the range [first,last].

Return Type :
An iterator to the first element of the destination sequence where elements
have been moved.

Ejemplos:

Input :
vec1 contains : 3 4 5 7 8
vec2 contains : 8 9 6 2 4 7
Output :
arr2 contains : 8 9 6 5 7 8
/*3 elements from 3rd position of vector vec1 moved to starting 4th position of vec2*/
// CPP program to illustrate
// std::move and std::move_backward
// STL library functions
#include<bits/stdc++.h>
  
// Driver code
int main()
{
    std :: vector <int> vec1 {1, 2, 3, 4, 5};
    std :: vector <int> vec2 {7, 7, 7, 7, 7};
  
    // Print elements
    std :: cout << "Vector1 contains :";
    for(int i = 0; i < vec1.size(); i++)
        std :: cout << " " << vec1[i];
    std :: cout << "\n";
      
    // Print elements
    std :: cout << "Vector2 contains :";
    for(unsigned int i = 0; i < vec2.size(); i++)
        std :: cout << " " << vec2[i];
    std :: cout << "\n\n";
      
  
    // std :: move_backward function
    std :: move_backward (vec2.begin(), vec2.begin() + 3, vec1.begin() + 3);
  
    // Print elements
    std :: cout << "Vector1 contains after std::move_backward function:";
    for(unsigned int i = 0; i < vec1.size(); i++)
        std :: cout << " " << vec1[i];
    std :: cout << "\n";
  
    return 0;
}

Producción:

Vector1 contains : 1 2 3 4 5
Vector2 contains : 7 7 7 7 7

Vector1 contains after std::move_backward function: 7 7 7 4 5

Este artículo es una contribución de Sachin Bisht . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.

Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *