STL 유용한 함수 모음
정렬
#include <algorithm>
sort(v.bigin(), v.end());
- 정렬 기준 정하기 : 세번째 인자로 정의한 함수
bool compare(int a, int b) { // 내림차순
return a > b;
}
sort(v.bigin(), v.end(), compare);
- 특정 변수를 기준으로 정렬 : pair 이용
vector<pair<int, string> > v;
v.push_back(pair<int, string>(90, "박한울"));
v.push_back(pair<int, string>(85, "이태일"));
v.push_back(pair<int, string>(82, "나동빈"));
v.push_back(pair<int, string>(98, "강종구"));
v.push_back(pair<int, string>(79, "이상욱"));
sort(v.begin(), v.end()); // pair의 first를 기준으로 정렬됨
- 정렬 기준 두 개일 때 : 이중 pair 이용
bool compare(pair<string, pair<int, int> > a, pair<string, pair<int, int> > b) {
if(a.second.first == b.second.first) { // 성적 같은 경우
return a.second.second > b.second.second; // 어린 학생 우선
} else {
return a.second.first > b.second.first; // 성적 오름차순
}
}
int main(void) {
vector<pair<string, pair<int, int> > > v;
v.push_back(pair<string, pair<int, int> >("나동빈", make_pair(90, 19961222)));
v.push_back(pair<string, pair<int, int> >("이태일", make_pair(97, 19930518)));
v.push_back(pair<string, pair<int, int> >("박한울", make_pair(95, 19930203)));
v.push_back(pair<string, pair<int, int> >("이상욱", make_pair(90, 19921207)));
v.push_back(pair<string, pair<int, int> >("강종구", make_pair(88, 19900302)));
sort(v.begin(), v.end(), compare);
return 0;
}
문자열 처리
- 문자열 뒤집기
#include <string>
reverse(str.begin(), str.end());
- 문자열에서 특정 문자 찾기
#include <string>
str.find(array[i]); //str에서 array[i] 찾기
//있으면 index, 없으면 string::npos를 return
배열 자리 바꾸기
#include <algorithm>
swap(a[i], a[i+1]);
vector에서 최댓값 찾기
#include <algorithm>
int max = *max_element(v.begin(), v.end());
Author And Source
이 문제에 관하여(STL 유용한 함수 모음), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@rlagksql219/STL-유용한-함수-모음저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)