C++常用技巧 sort重载cmp函数


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);


免责声明!

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



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