C++ sort函数
2022/1/16 22:04:23
本文主要是介绍C++ sort函数,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
sort函数
1.sort函数包含在头文件为#include<algorithm>的c++标准库中,调用标准库里的排序方法可以实现对数据的排序。
2.sort函数的模板:
void sort (RandomAccessIterator first, RandomAccessIterator last);
void sort (RandomAccessIterator first, RandomAccessIterator last, Compare comp);
(1)第一个参数first:是要排序的数组的起始地址。
(2)第二个参数last:是结束的地址(最后一个数据的后一个数据的地址)
(3)第三个参数comp是排序的方法:可以是从升序也可是降序,例如:greater<int>() 递减, less<int>() 递增。如果第三个参数不写,则默认的排序方法是从小到大排序。
sort() 函数是基于快速排序实现的,无法保证排序后它们的相对位置不发生改变。
#include <iostream> // std::cout #include <algorithm> // std::sort #include <vector> // std::vector //以普通函数的方式实现自定义排序规则 bool mycomp(const int &i, const int &j) { return (i < j); } //以函数对象的方式实现自定义排序规则 class mycomp2 { public: bool operator() (int i, int j) { return (i < j); } };
int main() { std::vector<int> myvector{ 32, 71, 12, 45, 26, 80, 53, 33 }; //调用第一种语法格式,对 32、71、12、45 进行排序 std::sort(myvector.begin(), myvector.begin() + 4); //(12 32 45 71) 26 80 53 33 //调用第二种语法格式,利用STL标准库提供的其它比较规则(比如 greater<T>)进行排序 std::sort(myvector.begin(), myvector.begin() + 4, std::greater<int>()); //(71 45 32 12) 26 80 53 33 //调用第二种语法格式,通过自定义比较规则进行排序 std::sort(myvector.begin(), myvector.end(), mycomp());//12 26 32 33 45 53 71 80 //调用第二种语法格式,通过自定义比较规则进行排序 std::sort(myvector.begin(), myvector.end(), mycomp2());//12 26 32 33 45 53 71 80 //输出 myvector 容器中的元素 for (std::vector<int>::iterator it = myvector.begin(); it != myvector.end(); ++it) { std::cout << *it << ' '; } return 0; }
参考博客:http://c.biancheng.net/view/7457.html
这篇关于C++ sort函数的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-07-05feign默认connecttimeout和readtimeout是多少-icode9专业技术文章分享
- 2024-07-05idea控制台,日志太多,导致部分想看得日志被刷走 搜不到-icode9专业技术文章分享
- 2024-07-05The server selected protocol version Tls10 is not accepted by client preferences [TLs12]-icode9专业技术文章分享
- 2024-07-05怎么清理项目缓存-icode9专业技术文章分享
- 2024-07-04安装 Eyoucms详细图文教程-icode9专业技术文章分享
- 2024-07-04ueditor 复制文章时,图片的链接是一个下载图片地址,该如何处理?-icode9专业技术文章分享
- 2024-07-04怎样判断host有没有对wordpress有缓存呢-icode9专业技术文章分享
- 2024-07-04具有编译功能的系统make后,无法ssh连接-icode9专业技术文章分享
- 2024-07-04make后如何升级ssh-icode9专业技术文章分享
- 2024-07-03微信支付提示下单账户与支付账户不一致-icode9专业技术文章分享