array, vector의 가장 큰 요소의 주소를 추출하는 함수 max_element 이다.
반환형이 이터레이터이기 때문에 값을 끄집어내기 위해 에스터리스크 *을 사용해야 하고, begin() 값과의 차를 통해 인덱스를 끄집어낼 수도 있다. 예시 코드로 확인하자.
#include <bits/stdc++.h>
using namespace std;
int main() {
vector<int> v {1,2,3};
int max = *max_element(v.begin(), v.end());
auto max_idx = max_element(v.begin(), v.end()) - v.begin();
cout << max << ' ' << (int)max_idx << '\n';
int arr[3] = {1,2,3};
int max2 = *max_element(arr, arr+3);
auto max_idx2 = max_element(arr, arr+3) - arr;
cout << max2 << ' ' << (int)max_idx2;
}
[출력]
3 2
3 2
min_element() 또한 사용법은 같아서 설명을 생략한다.
'C++' 카테고리의 다른 글
[C++] string 관련 함수 : insert(), erase(), find(), substr(), split(), ... (0) | 2024.02.13 |
---|---|
[C++] 순열을 만드는 함수 : next_permutation() (0) | 2024.02.08 |
[C++] 요소의 합을 구하는 함수 : accumulate() (0) | 2024.02.02 |
[C++] 중복 제거 함수 : unique() (0) | 2024.02.02 |
[C++] 정렬 함수 : sort() (0) | 2024.02.02 |