reverse() en C++ STL

En C++ el revés () és una funció integrada que s'utilitza per invertir l'ordre dels elements en el rang d'elements donat. Aquest rang pot ser qualsevol contenidor STL com un vector o pot ser una matriu.

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  ;   }   

Sortida
5 4 3 2 1  

Sintaxi de reverse()

La funció reverse() es defineix a l' fitxer de capçalera.

revés (primer darrer);

Paràmetres:

  • primer : Iterador al primer element del rang.
  • darrer : Iterador a l'element teòric just després de l'últim element del rang.

Valor de retorn:

  • Aquesta funció no retorna cap valor. Inverteix el rang al lloc.

Exemples

Invertir una matriu

Els exemples següents mostren com utilitzar la funció reverse() per revertir la varietat de contenidors de dades.

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  ;   }   

Sortida
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  ;   }   

Sortida
dcba 

Gira a l'esquerra un vector utilitzant la funció inversa ()

El rotació a l'esquerra d'un vector es pot fer utilitzant reverse() tres vegades.

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  ;   }   

Sortida
6 2 9 1 3  
Crea un qüestionari