今天写一道贪心的题,里面有用到开始时间和结束时间的排序,由于数据很大,用n2的冒泡估计会超时,但一时间也忘记了怎么用sort对结构体排序,这里记录一下用法。
#include<iostream>
#include<algorithm>
using namespace std;
struct E
{
int a;
int b;
}f[10];
bool cmp(E q,E e)
{
if(q.a!=e.a)
return q.a<e.a;//<为升序,>为降序
else
return q.b<e.b;
}
int main()
{
for(int i=0;i<5;i++)
{
cin>>f[i].a>>f[i].b;
}
sort(f,f+5,cmp);
for(int i=0;i<5;i++)
cout<<f[i].a<<" "<<f[i].b<<endl;
}