c++ sort 从大到小排序_【C++】sort函数使用方法
2022/2/26 17:51:53
本文主要是介绍c++ sort 从大到小排序_【C++】sort函数使用方法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
转载自:https://blog.csdn.net/weixin_39908462/article/details/110614054
一.sort函数
1.sort函数包含在头文件为#include<algorithm>
的c++标准库中,调用标准库里的排序方法可以实现对数据的排序,但是sort函数是如何实现的,我们不用考虑!
2.sort函数的模板有三个参数:
void sort (RandomAccessIterator first, RandomAccessIterator last, Compare comp);
(1)第一个参数first
:是要排序的数组的起始地址。
(2)第二个参数last
:是结束的地址(最后一个数据的后一个数据的地址)
(3)第三个参数comp
是排序的方法:可以是从升序也可是降序。如果第三个参数不写,则默认的排序方法是从小到大排序。
3.实例
sort第三个参数不进行设定默认进行的是从小到大的排序。
#include<iostream> #include<algorithm> using namespace std; main() { //sort函数第三个参数采用默认从小到大 int a[]={45,12,34,77,90,11,2,4,5,55}; sort(a,a+10); for(int i=0;i<10;i++) cout<<a[i]<<" "; }
这里可以看到是sort(a,a+10),但是数组a一共只有9个元素,为什么是a+10而不是a+9呢?
因为sort方法实际上最后一位地址对应的数是不取的,
而且vector,set,map这些容器的end()取出来的值实际上并不是最后一个值,而end的前一个才是最后一个值!
需要用prev(xxx.end()),才能取出容器中最后一个元素。
如果第三个参数进行设定,可以实现从大到小的排序,例如以下例子,自定义第三个参数,实现从大到小排序。
#include<iostream> #include<algorithm> using namespace std; bool cmp(int a,int b); main(){ //sort函数第三个参数自己定义,实现从大到小 int a[]={45,12,34,77,90,11,2,4,5,55}; sort(a,a+10,cmp); for(int i=0;i<10;i++) cout<<a[i]<<" "; } //自定义函数 bool cmp(int a,int b){ return a>b; }
这篇关于c++ sort 从大到小排序_【C++】sort函数使用方法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23增量更新怎么做?-icode9专业技术文章分享
- 2024-11-23压缩包加密方案有哪些?-icode9专业技术文章分享
- 2024-11-23用shell怎么写一个开机时自动同步远程仓库的代码?-icode9专业技术文章分享
- 2024-11-23webman可以同步自己的仓库吗?-icode9专业技术文章分享
- 2024-11-23在 Webman 中怎么判断是否有某命令进程正在运行?-icode9专业技术文章分享
- 2024-11-23如何重置new Swiper?-icode9专业技术文章分享
- 2024-11-23oss直传有什么好处?-icode9专业技术文章分享
- 2024-11-23如何将oss直传封装成一个组件在其他页面调用时都可以使用?-icode9专业技术文章分享
- 2024-11-23怎么使用laravel 11在代码里获取路由列表?-icode9专业技术文章分享
- 2024-11-22怎么实现ansible playbook 备份代码中命名包含时间戳功能?-icode9专业技术文章分享