reverse() in C++ STL

In C++ die umkehren() ist eine integrierte Funktion, mit der die Reihenfolge der Elemente im angegebenen Elementbereich umgekehrt werden kann. Dieser Bereich kann ein beliebiger STL-Container wie ein Vektor oder ein Array sein.

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

Ausgabe
5 4 3 2 1  

Syntax von reverse()

Die Funktion reverse() ist in definiert Header-Datei.

umkehren (zuerst zuletzt);

Parameter:

  • Erste : Iterator zum ersten Element im Bereich.
  • zuletzt : Iterator zum theoretischen Element direkt nach dem letzten Element im Bereich.

Rückgabewert:

  • Diese Funktion gibt keinen Wert zurück. Es kehrt den Bereich an Ort und Stelle um.

Beispiele

Ein Array umkehren

Die folgenden Beispiele zeigen, wie Sie die Funktion reverse() verwenden, um verschiedene Datencontainer umzukehren.

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

Ausgabe
5 4 3 2 1  

Einen String umkehren

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

Ausgabe
dcba 

Drehen Sie einen Vektor nach links mit reverse()

Der Linksdrehung eines Vektors Dies kann durch dreimaliges Verwenden von reverse() erfolgen.

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

Ausgabe
6 2 9 1 3  
Quiz erstellen