20260320-入门班-sort
已结束
IOI
开始于: 2026-3-20 15:15
2.5
小时
主持人:
21
排序
sort函数
复杂度为nlogn排序
sort(a+1,a+1+n,greater<int>)
int num[10] = {6,5,9,1,2,8,7,3,4,0};
sort(num,num+10,greater<int>());
for(int i=0;i<10;i++){
cout<<num[i]<<" ";
}//输出结果:9 8 7 6 5 4 3 2 1 0
结构体排序需要自定义函数
struct node{
int id;
string name;
double num;
}a[1000];
bool cmp(node p,node q){
return p.id<q.id;//按照id从小到大排序
//记忆:左边在前面的条件
}
int main(){
sort(a+1,a+1+n,cmp);
}
课堂笔记
#include<bits/stdc++.h>
using namespace std;
struct node{
string name;
int c,m,e;
}a[1000];
bool cmp(node p,node q){
return p.c+p.m+p.e>q.c+q.m+q.e;
}
int main(){
sort(a+1,a+1+n,cmp);
//sort(数组名字+起始位置,数组名字+终止位置+1)
//默认从小到大排序
//sort(数组名字+起始位置,数组名字+终止位置+1,用于比较的函数);
//greater<int>() 将int 从大到小排
//O(nlogn)
//使用自定义函数来比较
//bool cmp(类型 p,类型 q)
//{
// return p在q前面的条件;
//}
cout<<a[1].name<<" "<<a[1].c。。。。。。
}
- 状态
- 已结束
- 规则
- IOI
- 题目
- 4
- 开始于
- 2026-3-20 15:15
- 结束于
- 2026-3-20 17:45
- 持续时间
- 2.5 小时
- 主持人
- 参赛人数
- 21