일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 30 |
Tags
- PROJECT
- Express.js
- Prisma
- ERD
- HTTP
- ucpc 2023 예선 d번
- 백준 2623번
- Next
- JavaScript
- MySQL
- 그리디
- 더 흔한 색칠 타일 문제
- ccw 알고리즘
- ucpc 2024 예선 e번
- html5
- localstorage
- router
- 자바스크립트
- MongoDB
- branch
- Github
- 백준 28303번
- string
- 게임 서버 아키텍처
- 백준 28298번
- map
- ucpc 2023 예선 i번
- koi 2002 중등부 1번
- pm2
- insomnia
Archives
- Today
- Total
dh_0e
[C++] max_element, min_element, find 본문
max_element, min_element
- 배열, 벡터, 리스트 등의 최댓값(max_element), 최솟값(min_element)을 찾을 때 사용
- <algorithm> 라이브러리에 있으며, 최댓값 or 최솟값을 가리키는 반복자를 반환함
- 시간 복잡도: O(n)
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main()
{
vector<int> vec={1, 2, 3, 4, 5, 6};
printf("vec의 최솟값: %d\n", *min_element(vec.begin(), vec.end())); // 1
printf("vec의 최댓값의 iterator: %p\n", max_element(vec.begin(), vec.end())); // 27762372(주소값)
return 0;
}
- v.begin()을 빼주면 인덱스 값을 구할 수 있음
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main()
{
vector<int> vec={1, 2, 3, 4, 5, 6};
printf("vec의 최솟값의 index: %d\n", min_element(vec.begin(), vec.end())-vec.begin()); // 0
printf("vec의 최댓값의 index: %d\n", max_element(vec.begin(), vec.end())-vec.begin()); // 5
return 0;
}
find
- 컨테이너의 요소를 처음부터 끝까지 순회하며, 원하는 값을 찾을 때까지 검색
- 마찬가지로 <algorithm> 라이브러리에 있으며, 값을 찾으면 해당 값의 반복자를 반환
- 값이 존재하지 못한다면 범위의 끝을 반환
- 시간 복잡도: O(n)
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main()
{
vector<int> vec={1, 2, 3, 4, 5, 6};
int target=3;
auto it=find(vec.begin(), vec.end(), target);
printf("target의 index: %d\n", it-vec.begin()); // 2
target=0;
it=find(vec.begin(), vec.end(), target);
printf("target이 없다면 true: %d\n",it==vec.end()); // 1
return 0;
}
'C++' 카테고리의 다른 글
[C++] stringstream (2) | 2024.07.22 |
---|---|
[C++] map, unordered_map (0) | 2024.07.03 |
[C++] 행렬 곱셈(matrix multiplication) 정의와 그 이유, 구현 (0) | 2024.06.25 |
[C++] stoi/stol/stoll, <string> method (0) | 2024.06.24 |