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퀴즈 만들기