C++ STL的sort 函数 以及自定义的比较函数

    没什么特别擅长的内容,先做个小笔记好了。在编程时,使用C++的标准模板库(STL)能节约工作量,增加代码的可读性,能灵活运用无疑会提高编程的效率,俗话说:Write less, create more ~

 

    然后这篇笔记就简单讨论一下sort函数吧。对于vector,我们使用algorithm头文件中的sort函数来排序元素,如果元素类型是实数、字符串之类的,直接使用sort 函数就可以方便的排序了。使用方法就是:

    #include <vector>

    #include <algorithm>

    ...

    vector<int> numbers;

    ...

    sort(numbers.begin(),numbers.end());

    传入要排序部分头尾的迭代器就ok了,默认的结果是将元素按从小到大的顺序排序。

 

    sort 函数的功能很易于扩展,我们可以给它一个比较函数,让它按我们希望的方式工作。

    如果想要自定义比较函数,就像这样:

    bool less_int(int a,int b){

        return b<a;

    }

    ...

    sort(numbers.begin(),numbers.end(),less_int);

    函数名称随便,合法就可以。传入的参数类型与vector 的元素类型相同。函数的返回值是bool 类型的,如果第一个参数比第二个小就返回true,反之返回 false。上面的例子就是当b小于a时,认为a小于b。所以排序的结果就是将元素按从大到小的顺序排序。

    其他深入的分析我就不做了,这些对应用来说足够了。至于时间复杂度、稳定性之类的,自从数据结构结课之后,我就没关心过了 - -b

 

    

 

转载于:https://www.cnblogs.com/NekoStation/p/stl_and_sort.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值