sort函數是C++的一個排序函數,通過對其cmp函數的定義可以輕松實現類似結構體的排序操作
cmp函數的定義
bool cmp(int &x,int &y){
return x>y;//意味着x>y的時候,把x放到y前,按大到小排序。
}
例題程序:利用cmp函數實現對結構體從大到小排序
#include <iostream>
#include<algorithm>
#include<cstdio>
#include<vector>
#include<queue>
#include<stack>
#include<cstring>
using namespace std;
struct node{
char s[15];
int val;
}A[25];
bool cmp(node a,node b){
return a.val>b.val;//實現從大到小排序
}
int main(){
for(int i=0;i<3;i++){
cin>>A[i].s>>A[i].val;
}
sort(A,A+3,cmp);
for(int i=0;i<3;i++){
cout<<A[i].s<<" ";
cout<<A[i].val<<endl;
}
return 0;
}
// freopen("testdata.in", "r", stdin);