HyeLog

[C++] 벡터(Vector) 최댓값, 최솟값 인덱스 구하기 본문

CS

[C++] 벡터(Vector) 최댓값, 최솟값 인덱스 구하기

shj718 2022. 1. 31. 18:12

☆ <vector>, <algorithm> 헤더 파일 include해야함

 

min_element(v.begin(), v.end()) 는 벡터의 최솟값을 가리키는 포인터를 리턴함.

따라서 이 포인터에서 v.begin()을 빼면, 최솟값이 몇번째 값인지 그 인덱스를 알 수 있음!

int min_index = min_element(v.begin(), v.end()) - v.begin();
cout << "가장 작은 수의 인덱스 : " << min_index << '\n';

최댓값도 마찬가지!

int max_index = max_element(v.begin(), v.end()) - v.begin();
cout << "가장 큰 수의 인덱스 : " << max_index << '\n';

+ 최솟값, 최댓값의 값 자체를 구하려면 포인터에 * 붙여야함을 잊지 말기!

 

참고한 자료: https://notepad96.tistory.com/entry/C-Vector-%EC%B5%9C%EB%8C%80%EA%B0%92-%EC%B5%9C%EC%86%8C%EA%B0%92-%EC%9D%B8%EB%8D%B1%EC%8A%A4-%EA%B5%AC%ED%95%98%EA%B8%B0