코딩테스트 준비하면서 쓰고있는 함수들을 정리하려고 한다. 굳이 직접 짜서 쓰지 말고 STL을 잘 활용하는게 더 빠르고 편리하다. 배열과 벡터에 모두 적용하는 방법을 소개한다. (또 새로운 함수를 사용하면 추가로 작성할 예정이다.)
정렬하기: sort함수
그냥 사용하면 오름차순으로 정렬한다. (작은 것 -> 큰 것)
#include<iostream>
using namespace std;
int main() {
int a[10] = { 9,3,5,4,1,10,8,6,7,2 };
sort(a, a + 10);
for (int i = 0; i < 10; i++) {
cout << a[i] << " ";
}
return 0;
}
내림차순으로 정렬하고 싶으면, (큰 것 -> 작은 것)
#include<iostream>
#include<algorithm>
#include<functional>
using namespace std;
int main() {
int a[10] = { 9,3,5,4,1,10,8,6,7,2 };
sort(a, a + 10, greater<int>());
for (int i = 0; i < 10; i++) {
cout << a[i] << " ";
}
return 0;
}
최댓값, 최솟값 구하기: max_element
#include<iostream>
#include<algorithm>
#include<functional>
using namespace std;
int main() {
int a[10] = { 9,3,5,4,1,10,8,6,7,2 };
cout << *max_element(a, a + 10) << endl;
cout << *min_element(a, a + 10) << endl;
return 0;
}
벡터일 때는 주소를 어떻게 넣어줄까?
begin()과 end()함수를 이용하자!
#include<iostream>
#include<vector>
using namespace std;
int main() {
vector<int> a;
for (int i = 1; i <= 10; i++) {
a.push_back(i);
}
cout << *max_element(a.begin(), a.end()) << endl;
cout << *min_element(a.begin(), a.end()) << endl;
return 0;
}
'Programming > C++ STL' 카테고리의 다른 글
[C++ STL] queue(큐) (0) | 2020.09.15 |
---|---|
[C++ STL] stack(스택) (2) | 2020.09.15 |
[C++ STL] vector(동적배열) (0) | 2020.09.15 |
[C++ STL] unique함수와 erase함수를 통한 문자열 중복제거 (0) | 2020.09.14 |
[C++ STL] C++ 입출력 속도 향상 (0) | 2020.09.07 |