C ++ STL | std :: rotate () la función : Aquí, vamos a aprender acerca de la rotación () la función del algoritmo de cabecera en C ++ STL con el ejemplo .
C ++ STL std :: rotate (función)
rotate () 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 rango dado, acepta la gama (inicio, final) y un punto medio, que gira los elementos de tal manera que el elemento apuntado por el iterador medio se convierte en el nuevo primer elemento.
Nota: Para utilizar función de rotación () – class & lt; algoritmo de & gt; cabecera o puede utilizar sencilla . & Lt; bits / STDC ++ h & gt; archivo de cabecera.
Sintaxis de la función std :: rotate ()
std::rotate(iterator start, iterator middle, iterator end);
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.
include valor: class – Devuelve mención.
Ejemplo: programa
Input:
vector<int> v{ 10, 20, 30, 40, 50 };
//rotating vector from 2nd element
rotate(v.begin(), v.begin() + 2, v.end());
Output:
30 40 50 10 20
C ++ STL para demostrar el uso de std :: rotate () Función
En este programa, tenemos un vector y estamos rotando sus elementos de segundo índice.
//C++ STL program to demonstrate use of
//std::rotate() function
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
//main code
int main()
{
//vector
vector<int> v{ 10, 20, 30, 40, 50 };
//printing vector elements
cout << "vector elements begfore rotating..." << endl;
for (int x : v)
cout << x << " ";
cout << endl;
//rotating vector from 2nd element
rotate(v.begin(), v.begin() + 2, v.end());
cout << "vector elements after rotating..." << endl;
for (int x : v)
cout << x << " ";
cout << endl;
return 0;
}
salida
vector elements begfore rotating...
10 20 30 40 50
vector elements after rotating...
30 40 50 10 20
Referencia: C ++ std :: rotate ()