inverse() en C++ STL

En C++, le inverse() est une fonction intégrée utilisée pour inverser l'ordre des éléments dans la plage d'éléments donnée. Cette plage peut être n'importe quel conteneur STL comme un vecteur ou peut être un tableau.

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

Sortir
5 4 3 2 1  

Syntaxe de reverse()

La fonction reverse() est définie dans le fichier d'en-tête.

inverse (premier dernier);

Paramètres :

  • d'abord : Itérateur vers le premier élément de la plage.
  • dernier : Itérateur vers l'élément théorique juste après le dernier élément de la plage.

Valeur de retour :

  • Cette fonction ne renvoie aucune valeur. Il inverse la plage sur place.

Exemples

Inverser un tableau

Les exemples ci-dessous montrent comment utiliser la fonction reverse() pour inverser divers conteneurs de données.

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

Sortir
5 4 3 2 1  

Inverser une chaîne

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

Sortir
dcba 

Faire pivoter un vecteur à gauche en utilisant reverse()

Le rotation à gauche d'un vecteur peut être fait en utilisant reverse() trois fois dessus.

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

Sortir
6 2 9 1 3  
Créer un quiz