c++结构体双关键字排序


 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 struct node{
 4     int l,r;
 5 }num[100010];
 6 int w_comp(const node &a,const node &b){
 7     if (a.l!=b.l) return a.l>b.l;//先比较第一个关键字,从大到小排序
 8     return a.r<b.r;//比较第二个关键字,从小到大排序
 9 }
10 int main(){
11     int n;
12     cin>>n;
13     for (int i=1;i<=n;i++) cin>>num[i].l>>num[i].r;
14     sort(num+1,num+n+1,w_comp);//在主程序中的调用。是不是很简单qwq。
15     for (int i=1;i<=n;i++) cout<<num[i].l<<" "<<num[i].r<<endl;
16 } 

利用上课时间学会的(我真是个好学生)。结构体是一个很恶心的东西。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM