C++自带的sort函数如何对vector容器元素进行排序
更新时间:2023年10月31日 11:23:18 作者:我啥都会
这篇文章主要介绍了C++自带的sort函数如何对vector容器元素进行排序问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
自带的sort函数对vector容器元素进行排序
1.包含头文件
#include<algorithm>
然后using namespace std;
2.假如你定义的vector变量
为vector<Type> num,则如下:
sort(num.begin(), num.end(), sortFun);
然后如果是基本类型假如是int,第三个参数可以使用系统自带的less<int>()或者greater<int>()
假如是自定义类型话或者复杂类型就需自己定义比较规则函数sortFun
以opencv中的Point2d类型举例:
#include<iostream> #include<algorithm> #include<vector> #include<opencv2\opencv.hpp> using namespace std; using namespace cv; vector<cv::Point2d> po; //自定义排序函数 bool sortFun(const cv::Point2d &p1, const cv::Point2d &p2) { return p1.x < p2.x;//升序排列 } int main() { Point2d p1(2, 4), p2(4, 3), p3(1, 7), p4(0,4); po.push_back(p1); po.push_back(p2); po.push_back(p3); po.push_back(p4); cout << "排序前: "; for (auto elem : po) cout << elem << " "; sort(po.begin(), po.end(), sortFun); cout << endl << "排序后: " ; for (auto elem : po) cout << elem << " "; cout << endl; system("pause"); return 0; }
运行结果
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
CreateThread()与beginthread()的区别详细解析
很多开发者不清楚这两者之间的关系,他们随意选一个函数来用,发现也没有什么大问题,于是就忙于解决更为紧迫的任务去了。等到有一天忽然发现一个程序运行时间很长的时候会有细微的内存泄露,开发者绝对不会想到是因为这两套函数用混的结果2013-09-09
最新评论