C++ STL'de ters ()

C++'da tersi() belirli bir öğe aralığındaki öğelerin sırasını tersine çevirmek için kullanılan yerleşik bir işlevdir. Bu aralık, vektör gibi herhangi bir STL kabı olabilir veya bir dizi olabilir.

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

Çıkış
5 4 3 2 1  

Ters() sözdizimi

ters() işlevi şurada tanımlanır: başlık dosyası.

tersi (ilk son);

Parametreler:

  • Birinci : Aralıktaki ilk öğenin yineleyicisi.
  • son : Aralıktaki son öğenin hemen ardından gelen teorik öğenin yineleyicisi.

Dönüş Değeri:

  • Bu fonksiyon herhangi bir değer döndürmez. Aralığı yerinde tersine çevirir.

Örnekler

Bir Diziyi Ters Çevirme

Aşağıdaki örnekler, çeşitli veri kapsayıcılarını tersine çevirmek için revers() işlevinin nasıl kullanılacağını gösterir.

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

Çıkış
5 4 3 2 1  

Bir Dizeyi Ters Çevirme

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

Çıkış
dcba 

Ters() kullanarak bir Vektörü Sola Döndürme

bir vektörün sola dönüşü ters() üç kez kullanılarak yapılabilir.

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

Çıkış
6 2 9 1 3  
Test Oluştur