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;
}

运行结果

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • C++ 拷贝构造函数与赋值的区别

    C++ 拷贝构造函数与赋值的区别

    拷贝构造函数和赋值函数非常容易混淆,本文主要介绍了C++ 拷贝构造函数与赋值的区别,具有一定的参考价值,感兴趣的可以了解一下
    2024-04-04
  • Qt自定义控件实现圆盘进度条

    Qt自定义控件实现圆盘进度条

    这篇文章主要为大家详细介绍了Qt自定义控件实现圆盘进度条,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-12-12
  • C++特殊类设计(设计模式)和类型转换方式

    C++特殊类设计(设计模式)和类型转换方式

    本文详细解析了单例模式、饿汉模式与懒汉模式的设计方法,并对比了C++中的static_cast、reinterpret_cast与const_cast类型转换方式,同时探讨了dynamic_cast在多态类中的应用,为开发者提供了丰富的设计模式与类型转换知识
    2026-05-05
  • 华为面试题数字大小写转换

    华为面试题数字大小写转换

    一个四位数,如1024,1004,打印出他们的中文形式,如果一千零二十四,一千零四,大家参考使用吧
    2013-12-12
  • 详解如何利用C++实现Mystring类

    详解如何利用C++实现Mystring类

    这篇文章主要为大家详细介绍了C++实现MyString的示例代码,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-08-08
  • 简单掌握C++编程中的while与do-while循环语句使用

    简单掌握C++编程中的while与do-while循环语句使用

    这篇文章主要介绍了C++编程中的while与do-while循环语句使用,区别就是while是先判断再执行,而do-while是先执行再判断,需要的朋友可以参考下
    2016-01-01
  • C++中的代理模式变体使用及说明

    C++中的代理模式变体使用及说明

    这篇文章主要介绍了C++中的代理模式变体使用及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2026-03-03
  • 浅谈C++继承中的名字查找

    浅谈C++继承中的名字查找

    下面小编就为大家带来一篇浅谈C++继承中的名字查找。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01
  • rapidjson解析json代码实例以及常见的json core dump问题

    rapidjson解析json代码实例以及常见的json core dump问题

    今天小编就为大家分享一篇关于rapidjson解析json代码实例以及常见的json core dump问题,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-04-04
  • C语言函数的参数使用指针

    C语言函数的参数使用指针

    这篇文章主要介绍了C语言函数的参数使用指针,本文讲述了指针在作为函数参数时候的使用方法,解析值传递和值引用的区别案例,希望对你有所帮助
    2021-06-06

最新评论