#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int, int> P;
struct node {
ll a;
int b;
char c;
}N[10];
bool cmp1(const P &a, const P &b) {
return a.first > b.first;
}
bool cmp2(const int &a, const int &b) {
return a < b;
}
bool cmp3(const node &a, const node &b) {
if (a.a == b.a) {
if (a.b == b.b) return a.c < b.c;
return a.b > b.b;
}
return a.a > b.a;
}
int main() {
vector<P> vec;
for (int i = 0; i < 10; i++) {
vec.push_back(P(i * i - i * 10, i));
N[i].a = i * i - i * 10;
N[i].b = i;
N[i].c = 'a' + i;
}
for (int i = 0; i < 10; i++)
printf("(%d %d)%c", vec[i].first, vec[i].second, ",\n"[i == 9]);
sort(vec.begin(), vec.end(), cmp1);
for (int i = 0; i < 10; i++)
printf("(%d %d)%c", vec[i].first, vec[i].second, ",\n"[i == 9]);
puts("-----");
for (int i = 0; i < 10; i++)
printf("(%lld %d %c)%c", N[i].a, N[i].b, N[i].c, ",\n"[i == 9]);
sort(N, N + 10, cmp3);
for (int i = 0; i < 10; i++)
printf("(%lld %d %c)%c", N[i].a, N[i].b, N[i].c, ",\n"[i == 9]);
return 0;
}
标准sort中comp各类写法
最新推荐文章于 2023-04-12 13:45:50 发布