std::rotate vs std::rotate_copy en C++ STL

  1. rotar en STL :Rota el orden de los elementos en el rango [primero, último), de tal forma que el elemento apuntado por medio se convierte en el nuevo primer elemento, i, e, a la izquierda.

    // Illustrating the use of rotate algorithm
    #include <bits/stdc++.h>
    using namespace std;
      
    // Driver Program
    int main()
    {
        vector<int> arr;
      
        // set some values: 1 2 3 4 5 6
        // 7 8 9
        for (int i = 1; i < 10; ++i)        
            arr.push_back(i);
      
        // Use of rotate
        rotate(arr.begin(), arr.begin() + 3, arr.end());
      
        // prints the content:
        cout << "arr contains:";
        for (auto i = arr.begin(); i != arr.end(); i++)
            cout << ' ' << *i;
        cout << endl;
      
        return 0;
    }

    Producción:

    arr contains: 4 5 6 7 8 9 1 2 3
    
  2. rotar_copiar : copia los elementos del rango [primero, último] al rango que comienza en resultado, pero rota el orden de los elementos de tal manera que el elemento señalado por el centro se convierte en el primer elemento del rango resultante, es decir, a la izquierda girar.

    // Illustrating the use of rotate_copy
    #include <bits/stdc++.h>
    using namespace std;
      
    // Driver Program
    int main()
    {
        int arr[] = { 10, 20, 30, 40, 50, 60, 70 };    
      
        // Use of rotate_copy
        vector<int> gfg(7);
        rotate_copy(arr, arr + 3, arr + 7, gfg.begin());
      
        // prints the content:
        cout << "gfg contains:";
        for (auto i = gfg.begin(); i != gfg.end(); i++)
            cout << ' ' << *i;
        cout << endl;
      
        return 0;
    }

    Producción:

    gfg contains: 40 50 60 70 10 20 30
    

Este artículo es una contribución de Shambhavi Singh . 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 *