#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
struct Data{
int when, money;
Data(int a, int b) {
when = a;
money = b;
}
bool operator<(const Data &d) const {
return when < d.when;
}
};
int n;
vector<Data> V;
int main() {
freopen("input.txt", "rt", stdin);
cin >> n;
for(int i=1; i<=n; i++) {
int temp1, temp2;
cin >> temp1 >> temp2;
V.push_back(Data(temp1, temp2));
}
// before sort
for(int i=0; i<V.size(); i++) {
cout << "when : " << V[i].when;
cout << ", money : " << V[i].money;
cout << "\n";
}
cout << "\n";
cout << "sorting by when.....\n";
cout << "\n";
sort(V.begin(), V.end());
// after sort
for(int i=0; i<V.size(); i++) {
cout << "when : " << V[i].when;
cout << ", money : " << V[i].money;
cout << "\n";
}
}
ex) 입력은 다음과 같다.
5
5 14
2 23
3 1
4 22
1 155
다음과 같이 when > d.when으로 한다면, 내림 차순으로 정렬
bool operator<(const Data &d) const {
return when > d.when;
}
money를 기준으로 정렬하고 싶다면, 다음과 같이 수정한다.
bool operator<(const Data &d) const {
return money < d.money;
}