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

+ Recent posts