알고리즘_9_C++ STL sort() 함수 다루기 ②
Aug 8, 2021
»
writing
K 실전 알고리즘 강좌(Algorithm Programming Tutorial) 동빈나 님 수업을 참고하여 작성하였습니다
9_C++ STL sort() 함수 다루기 ②
C++ STL sort() 함수 다루기 ②
1. sort() 함수의 기본 사용법 : 빠른 개발이 필요할 때는 페어(Pair) 라이브러리 사용
1) vector 와 페어 이용(숏코딩)
- vecotr : 단순한 배열을 보다 사용하기 쉽게 개편한 자료주고 - pair : 한 쌍의 데이터를 처리할 수 있게함
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main(void) {
vector<pair<int, string> >v;
v.push_back(pair<int, string>(90, "이가은"));
v.push_back(pair<int, string>(88, "권태훈"));
v.push_back(pair<int, string>(96, "전정국"));
v.push_back(pair<int, string>(94, "김남준"));
v.push_back(pair<int, string>(67, "김태형"));
sort(v.begin(), v.end());
for (int i = 0; i< v.size(); i++) {
cout << v[i].second << " ";
}
return 0;
}
// 김태형 권태훈 이가은 김남준 전정국
1) \이름, 성적, 생년월일 주어질 때 성적 동일할 경우 나이가 더어린 학생이 순위 더높음
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
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> >("이가은", pair<int, int>(90, 20000325)));
v.push_back(pair<string, pair<int, int> >("권태훈", pair<int, int>(96, 19951116)));
v.push_back(pair<string, pair<int, int> >("전정국", pair<int, int>(96, 19970901)));
v.push_back(pair<string, pair<int, int> >("김남준", pair<int, int>(94, 19940912)));
v.push_back(pair<string, pair<int, int> >("김태형", pair<int, int>(92, 19951230)));
sort(v.begin(), v.end(), compare);
for (int i = 0; i< v.size(); i++) {
cout << v[i].first << " ";
}
return 0;
}
// 전정국 권태훈 김남준 김태형 이가은