inversa() en C++ STL

En C++ el contrarrestar() es una función incorporada que se utiliza para invertir el orden de los elementos en el rango de elementos dado. Este rango puede ser cualquier contenedor STL como un vector o puede ser una matriz.

C++
   #include          using     namespace     std  ;   int     main  ()     {      vector   <  int  >     v     =     {  1       2       3       4       5  };      // Reversing the vector      reverse  (  v  .  begin  ()     v  .  end  ());      for     (  int     i     :     v  )     cout      < <     i      < <     ' '  ;      return     0  ;   }   

Producción
5 4 3 2 1  

Sintaxis de reversa()

La función inversa() está definida en el archivo de encabezado.

contrarrestar (primero último);

Parámetros:

  • primero : iterador del primer elemento del rango.
  • último : Iterador del elemento teórico justo después del último elemento del rango.

Valor de retorno:

  • Esta función no devuelve ningún valor. Invierte el rango en el lugar.

Ejemplos

Invertir una matriz

Los siguientes ejemplos muestran cómo utilizar la función inversa() para invertir una variedad de contenedores de datos.

C++
   #include          using     namespace     std  ;   int     main  ()     {      int     arr  []     =     {  1       2       3       4       5  };      int     n     =     sizeof  (  arr  )     /     sizeof  (  arr  [  0  ]);      // Reverse the array arr      reverse  (  arr       arr     +     n  );      for     (  int     i     :     arr  )     cout      < <     i      < <     ' '  ;      return     0  ;   }   

Producción
5 4 3 2 1  

Invertir una cadena

C++
   #include          using     namespace     std  ;   int     main  ()     {      string     s     =     'abcd'  ;      // Reverse the string s      reverse  (  s  .  begin  ()     s  .  end  ());      cout      < <     s  ;      return     0  ;   }   

Producción
dcba 

Girar un vector a la izquierda usando reversa()

El rotación izquierda de un vector se puede hacer usando reverse() tres veces.

C++
   #include          using     namespace     std  ;   int     main  ()     {      vector   <  int  >     v     =     {  1       3       6       2       9  };      int     n     =     v  .  size  ();      int     d     =     2  ;      // Left rotate the vector by d place      reverse  (  v  .  begin  ()     v  .  begin  ()     +     d  );      reverse  (  v  .  begin  ()     +     d       v  .  end  ());      reverse  (  v  .  begin  ()     v  .  end  ());      for     (  auto     i     :     v  )      cout      < <     i      < <     ' '  ;      return     0  ;   }   

Producción
6 2 9 1 3  
Crear cuestionario