728x90
string과 vector를 반전시키는 방법은 루프를 이용, 재귀 함수를 이용 등 여러 가지가 있는데 그중 가장 간단하게 사용 가능한 reverse 함수를 사용해 보겠습니다.
reverse?
reverse의 헤더 : #include<algorithm>
C++의 표준 라이브러리에 포함된 "algorithm"헤더에 정의된 함수이며 주로 반전을 수행하는 기능을 제공합니다.
string과 vector, deque list 등을 반전시킬 수 있으며 많이 사용되는 string과 vector를 다뤄보겠습니다.
reverse 함수 사용법
reverse(string.begin(),string.end());
#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
int main()
{
string str;
cin >> str;
reverse(str.begin(), str.end());
return 0;
}
위와 같이 string을 반전시킬 때 양방향 반복자를 사용하는데
첫 번째 인자는 반전을 시작할 범위의 첫 번째 원소를 가리키며
두 번째 인자로 반전을 끝낼 범위의 다음 원소를 가리킵니다.
만약 str에 "567"을 입력하고 반전을 하면 "765"가 되고 "abc"를 입력하면 "cba"가 됩니다
string뿐만 아니라 vector도 같은 방법으로 반전이 가능합니다
reverse(vector.begin(),vector.end());
#include <iostream>
#include <vector>
#include <algorithm>
int main() {
std::vector<int> numbers = {1, 2, 3, 4, 5};
std::reverse(numbers.begin(), numbers.end());
return 0;
}
위 코드를 실행하면 numbers는 반전되어 5, 4, 3, 2, 1 이 들어가게 됩니다.
728x90
'프로그래밍 > C++' 카테고리의 다른 글
[C++] 이차원 배열 동적할당 /정적할당 (0) | 2023.08.07 |
---|---|
[C++] STL map 정리 (0) | 2023.08.05 |
[C++] stringstream 사용법 : 문자열 단어로 나누기 (0) | 2023.08.01 |
[C++] 공백을 포함한 문자열 입력받기(getline) (0) | 2023.07.31 |
[C++] 아스키 코드를 정수로 변환하기 (0) | 2023.07.31 |