C++에서 reverse() 함수는
문자열(string), 벡터(vector), 배열 등의 순서를 뒤집을 때 사용하는 함수이다.
또한, 전체뿐 아니라 특정 구간만 뒤집는 것도 가능하다.
1. 기본 개념
reverse() 함수는 지정한 구간의 순서를 반대로 뒤집는다.
예를 들어:
abcde 를 reverse 하면,
edcba 가 된다.
2. 사용 방법
//reverse() 함수는 <algorithm> 헤더에 포함되어 있다.
#include <algorithm>
//기본형태
reverse(시작 반복자, 끝 반복자);
//예시
reverse(v.begin(),v.end());
3. 문자열(string) 뒤집기
#include <iostream>
#include <algorithm>
#include <string>
using namespace std;
int main() {
string s = "hello";
reverse(s.begin(), s.end());
cout << s; // 출력값: olleh
return 0;
}
4. 벡터(vector) 뒤집기
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
vector<int> v = {1,2,3,4,5};
reverse(v.begin(), v.end());
for(int i : v)
cout << i ; // 출력: 54321
return 0;
}
5. 배열(array) 뒤집기
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
int arr[5] = {1,2,3,4,5};
reverse(arr, arr + 5); // 인덱스 시작부터 ~ 인덱스 5 전까지 뒤짚는다.
// arr+5는 마지막 원소 다음 칸을 가리킴
// 앞은 포함 뒤는 미포함
for(int i=0 ; i<5 ; i++)
cout << arr[i]; //54321
return 0;
}
6. 일부 구간만 뒤집기
reverse()는 전체가 아니라 원하는 구간만 뒤집을 수도 있다.
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
vector<int> v = {1,2,3,4,5};
// 인덱스 1 포함 ~ 인덱스 4 전까지 뒤짚어라 (2,3,4) -> (4,3,2)
reverse(v.begin() + 1, v.begin() + 4);
for(int i : v)
cout << i <<; // 결과값: 14325
return 0;
}
7. 최종 요약
reverse() 함수는 문자열, 벡터, 배열 등의 순서를 반대로 뒤집을 때 사용하는 함수이다.
사용하려면 <algorithm> 헤더를 포함해야 하며, 기본 형태는 다음과 같다.
reverse(시작 위치, 끝 위치);
이때 범위는 시작 위치는 포함하고, 끝 위치는 포함하지 않는다.
reverse(v.begin() + 1, v.begin() + 4);
는 인덱스 1부터 인덱스 4 전까지,
즉 인덱스 1 ~ 3 구간만 뒤집는다는 의미이다.
'언어 문법정리 > c++' 카테고리의 다른 글
| [C++] insert 함수 정리(set, vector, map) (0) | 2026.05.23 |
|---|---|
| [C++] 정규표현식 regex란? (0) | 2026.05.19 |
| [C++] vector 원하는 구간만 자르기 (0) | 2026.05.16 |
| [C++] 대소문자 변환 방법 정리(함수, ASCII 코드 사용) (0) | 2026.05.11 |
| [C++] 숫자를 문자열로 변환(123 => "123") to_string() 함수 (1) | 2026.05.09 |
