C++sort函数使用

举报
开心星人 发表于 2022/06/30 00:00:56 2022/06/30
【摘要】 sort函数使用 基本使用: vector<int> a={3,4,2,5,2,5,7,8}; sort(a.begin(),a.end()); //默认从小到大排序 sort(a.b...

sort函数使用

基本使用:

vector<int> a={3,4,2,5,2,5,7,8};
sort(a.begin(),a.end());   //默认从小到大排序
sort(a.begin(),a.begin()+4);  //对前四个进行排序
sort(a.begin(),a.end(),less<int>());  //从小到大排序
sort(a.begin(),a.end(),greater<int>());  //从大到小排序

int arr[10]={1,33,56,74,34,34,555,43,43,343};
sort(arr,arr+10);

  
 

自定义比较函数(多用于结构体)

//按照pair的第一个参数进行从小到大排序
bool my_sort(pair<int,int>a,pair<int,int>b){
	if(a.first==b.first)
		return p1.second<p2.second;
    else 
    	return p1.first>p2.first;
}
vector<pair<int,int> >res;
res.push_back(pair<int,int> (3,1));
res.push_back(pair<int,int> (2,3));
res.push_back(pair<int,int> (4,5));
res.push_back(pair<int,int> (2,4));
sort(res.begin(),res.end(),my_sort);

  
 

pair默认是先对第一个关键字从小到大排序,如果第一关键字相同,在对第二关键字从小到大排序,都是升序
sort(res.begin(),res.end());
和上面代码效果等价,不需要自己写比较函数

文章来源: blog.csdn.net,作者:开心星人,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/qq_55675216/article/details/123893049

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。