题解(两种)
2026-05-27 22:12:52
发布于:浙江
24阅读
0回复
0点赞
第一种:(普通函数)
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
bool cmp(int a, int b) {
int a_ge = a % 10, b_ge = b % 10;
if(a_ge == b_ge) {
return a < b;
}
return a_ge > b_ge;
}
int main() {
int n;
cin >> n;
vector<int> a(n);
for(int i = 0; i < n; i++) {
cin >> a[i];
}
sort(a.begin(), a.end(), cmp);
for(int i = 0; i < n; i++) {
cout << a[i] << endl;
}
}
第二种:(Lambda表达式)
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
auto ip = [](int a, int b) {
int a_ge = a % 10, b_ge = b % 10;
if(a_ge == b_ge) {
return a < b;
}
return a_ge > b_ge;
};
int main() {
int n;
cin >> n;
vector<int> a(n);
for(int i = 0; i < n; i++) {
cin >> a[i];
}
sort(a.begin(), a.end(), ip);
for(int i = 0; i < n; i++) {
cout << a[i] << endl;
}
}
都是函数,只不过两种不一样
全部评论 1
- 置顶
此人 是 “人”
2026-05-31 来自 浙江
0你好,入
2026-05-31 来自 浙江
0你的 浮木 si le
2026-05-31 来自 浙江
0hi,jb
nice to meet you2026-05-31 来自 浙江
0













有帮助,赞一个