C++ STL의 reverse()

C++에서는 뒤집다() 주어진 요소 범위에서 요소의 순서를 바꾸는 데 사용되는 내장 함수입니다. 이 범위는 벡터와 같은 STL 컨테이너이거나 배열일 수 있습니다.

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

산출
5 4 3 2 1  

reverse() 구문

reverse() 함수는 헤더 파일.

뒤집다 (첫 번째 마지막);

매개변수:

  • 첫 번째 : 범위의 첫 번째 요소에 대한 반복자입니다.
  • 마지막 : 범위의 마지막 요소 바로 뒤의 이론적인 요소에 대한 반복자입니다.

반환 값:

  • 이 함수는 어떤 값도 반환하지 않습니다. 범위를 그 자리에서 반대로 바꿉니다.

배열 반전

아래 예에서는 reverse() 함수를 사용하여 다양한 데이터 컨테이너를 반전시키는 방법을 보여줍니다.

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

산출
5 4 3 2 1  

문자열 반전

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

산출
dcba 

reverse()를 사용하여 벡터를 왼쪽으로 회전합니다.

그만큼 벡터의 왼쪽 회전 reverse()를 세 번 사용하면 됩니다.

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

산출
6 2 9 1 3  
퀴즈 만들기