관리 메뉴

Storage Gonie

(16) C++ algorithm헤더의 reverse함수 본문

알고리즘/문제해결을 위한 C++ 공부

(16) C++ algorithm헤더의 reverse함수

Storage Gonie 2019. 5. 4. 17:49
반응형

# 배열에 적용한 경우

#include <iostream>
#include <algorithm>

using namespace std;

int main() {
    int a[5] = {1, 2, 3, 4, 5};
    int b[5] = {6, 7, 8, 9, 10};

    reverse(a, a+5);    // 1 ~ 5 모두 적용
    reverse(b+1, a+4);  // 7 ~ 9 만 적용

    int a_len = sizeof(a)/sizeof(int);   //배열은 원소의 개수를 이렇게 계산해줘야함
    int b_len = sizeof(b)/sizeof(int);

    for (int i=0; i < a_len; i++)
        cout << a[i] << " ";             // 5 4 3 2 1
    
    cout << endl;

    for (int i=0; i < b_len; i++)
        cout << b[i] << " ";             // 6 9 8 7 10
}

 

# 벡터에 적용한 경우, string도 같은 방법으로 적용 가능

#include <iostream>
#include <algorithm>
#include <vector>

using namespace std;

int main() {
    vector<int> vec_a(5);
    vector<int> vec_b(5);
    
    for (int i = 0; i < 5; i++)
        vec_a[i] = i+1;         // vec_a = 1, 2, 3, 4, 5

    for (int i = 0; i < 5; i++)
        vec_b[i] = i+6;         // vec_b = 6, 7, 8, 9, 10

    reverse(vec_a.begin(), vec_a.end());     // 1 ~ 5 모두 적용 
    reverse(vec_b.begin()+1, vec_b.end()-1); // 7 ~ 9 만 적용
    

    for (int i = 0; i < 5; i++)
        cout << vec_a[i] << " ";     // 5 4 3 2 1

    cout << endl;

    for (int i = 0; i < 5; i++)
        cout << vec_b[i] << " ";    // 6 9 8 7 10
}
반응형
Comments