std :: función rotate_copy () con ejemplo en STL C ++

C ++ STL | std :: función rotate_copy () : Aquí, vamos a aprender acerca de la función rotate_copy () del algoritmo de cabecera en C ++ con STL ejemplo .

C ++ STL std :: rotate_copy (función)

rotate_copy () función es una función de biblioteca de algoritmo de cabeza, que se utiliza para girar a la izquierda los elementos de una secuencia dentro de un intervalo dado y copiar el elementos giratorios a otra secuencia, se acepta el rango (inicio, final) de la secuencia de entrada, un punto medio, y un iterador que apunta a elemento de la secuencia resultado comenzar. Se hace girar los elementos de manera tal que el elemento señalado por el iterador medio se convierte en el nuevo primer elemento.

Nota: Para utilizar función rotate_copy () – class & lt; algoritmo de & gt; cabecera o puede utilizar sencilla . & Lt; bits / STDC ++ h & gt; archivo de cabecera.

Sintaxis de std :: rotate_copy función ()

    std::rotate_copy(
iterator start,
iterator middle,
iterator end,
iterator start_result);

Parámetro (s):

  • iterador comenzar – un iterador que apunta al primer elemento de la secuencia.
  • iterador medio – un iterador que apunta a la mitad o cualquier otro elemento de donde queremos comenzar la rotación.
  • iterador final – un iterador que apunta al último elemento de la secuencia.
  • iterador start_result – un señalador iterador al primer elemento en la secuencia de resultado.

include valor: class – Devuelve mención.

Ejemplo: programa

    Input:
//an array (source)
int arr[] = { 10, 20, 30, 40, 50 };
//vector
vector<int> v(5);
//rotating and copy array elements to the vector
rotate_copy(arr + 0, arr + 2, arr + 5, v.begin());
Output:
vector elements: 30 40 50 10 20

C ++ STL para demostrar el uso de la función std :: rotate_copy ()

En este programa, tenemos una matriz y un vector; nos estamos girando sus elementos de segundo índice y la copia en el vector.

//C++ STL program to demonstrate use of
//std::rotate_copy() function
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
//main code
int main()
{
//an array (source)
int arr[] = { 10, 20, 30, 40, 50 };
//vector
vector<int> v(5);
//printing array and vector elements
cout << "array elements..." << endl;
for (int x : arr)
cout << x << " ";
cout << endl;
cout << "vector elements begfore rotating..." << endl;
for (int x : v)
cout << x << " ";
cout << endl;
//rotating and copy array elements to the vector
rotate_copy(arr + 0, arr + 2, arr + 5, v.begin());
cout << "vector elements after rotating..." << endl;
for (int x : v)
cout << x << " ";
cout << endl;
return 0;
}

salida

array elements...
10 20 30 40 50
vector elements begfore rotating...
0 0 0 0 0
vector elements after rotating...
30 40 50 10 20

Referencia: C ++ std :: rotate_copy ()


Deja un comentario

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