reverse() in C++ STL

In C++ il inversione() è una funzione integrata utilizzata per invertire l'ordine degli elementi nell'intervallo di elementi specificato. Questo intervallo può essere qualsiasi contenitore STL come un vettore o può essere un array.

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

Produzione
5 4 3 2 1  

Sintassi di reverse()

La funzione reverse() è definita nel file file di intestazione.

inversione (primo ultimo);

parametri:

  • Primo : Iteratore del primo elemento nell'intervallo.
  • scorso : Iteratore dell'elemento teorico subito dopo l'ultimo elemento dell'intervallo.

Valore restituito:

  • Questa funzione non restituisce alcun valore. Inverte l'intervallo sul posto.

Esempi

Inversione di un array

Gli esempi seguenti mostrano come utilizzare la funzione reverse() per invertire una varietà di contenitori di dati.

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

Produzione
5 4 3 2 1  

Invertire una stringa

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

Produzione
dcba 

Ruota a sinistra un vettore usando reverse()

IL rotazione a sinistra di un vettore può essere fatto usando reverse() tre volte su di esso.

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

Produzione
6 2 9 1 3  
Crea quiz