reverse() in C++ STL

In C++ de achteruit() is een ingebouwde functie die wordt gebruikt om de volgorde van elementen in het gegeven bereik van elementen om te keren. Dit bereik kan elke STL-container zijn, zoals een vector, of kan een array zijn.

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

Uitvoer
5 4 3 2 1  

Syntaxis van reverse()

De functie reverse() is gedefinieerd in de header-bestand.

achteruit (eerste laatste);

Parameters:

  • Eerst : Iterator naar het eerste element in het bereik.
  • laatst : Iterator naar het theoretische element net na het laatste element in het bereik.

Retourwaarde:

  • Deze functie retourneert geen enkele waarde. Het keert het bereik ter plaatse om.

Voorbeelden

Een array omkeren

De onderstaande voorbeelden laten zien hoe u de functie reverse() kunt gebruiken om verschillende gegevenscontainers om te keren.

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

Uitvoer
5 4 3 2 1  

Een string omkeren

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

Uitvoer
dcba 

Links roteren van een vector met reverse()

De linksom draaien van een vector kan worden gedaan door er drie keer reverse() op te gebruiken.

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

Uitvoer
6 2 9 1 3  
Quiz maken