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