경험의 기록

벡터(vector)에서 최대, 최소값 (max_element(), min_element() )

#include <algorithm> 에 포함된

*max_element(arr, arr+size)

*min_element(arr, arr+size)

함수를 사용하면 벡터의 최대,최소를 알수 있다.

단 저 함수는 값 자체를 리턴하지않고 주소를 리턴하기 때문에 *를 사용해야 한다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
 
int main() {
    vector <int> a = { 1,5,4,7,2 };
    int min = *min_element(a.begin(), a.end()); // 벡터의 최소
    int max = *max_element(a.begin(), a.end()); // 벡터의 최대
 
    cout << "Min : " << min << endl << "Max : " << max;
    return 0;
}
 
 
cs

 

 

주소를 리턴하는 것을 활용하면, 최대나 최소값을 찾아 제거하는 등의 작업을 바로 할수 있다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
 
int main() {
    vector <int> a = { 1,5,4,7,2 };
 
    for (int i = 0; i < a.size(); i++) {
        cout << a[i] << " ";
    }
    cout << endl;
 
    a.erase(max_element(a.begin(), a.end()));
 
    for (int i = 0; i < a.size(); i++) {
        cout << a[i] << " ";
    } // 최대값 제거된 벡터
 
    cout << endl;
    a.erase(min_element(a.begin(), a.end()));
 
    for (int i = 0; i < a.size(); i++) {
        cout << a[i] << " ";
    } // 최소값 제거된 벡터
    return 0;
}
 
 
cs

 

반응형

공유하기

facebook twitter kakaoTalk kakaostory naver band
loading