sort函数讲解

详见 :https://www.cnblogs.com/AlvinZH/p/6784862.html?utm_source=itdadao&utm_medium=referral
此处为学习的网址,写的十分详细,在此感谢作者~

总结了:

  1. sort实现原理及简介
    (其实我主要是想去看sort实现原理,别的觉得好就记录下来了)
    时间复杂度:n*lg(n)
    实现原理:sort并不是简单的快速排序,它对普通的快速排序进行了优化,此外,它还结合了插入排序和推排序。系统会根据你的数据形式和数据量自动选择合适的排序方法,这并不是说它每次排序只选择一种方法,它是在一次完整排序中不同的情况选用不同方法,比如给一个数据量较大的数组排序,开始采用快速排序,分段递归,分段之后每一段的数据量达到一个较小值后它就不继续往下递归,而是选择插入排序,如果递归的太深,他会选择推排序。
  2. 扩展:
    1)定义比较函数(最常用)
    就重写个cmp1,cmp2(结构体)函数
    2)使用标准库函数
    升序:sort(begin,end,less<data-type>())
    降序:sort(begin,end,greater<data-type>())
    3)重载结构体或类的比较运算符
    分内部重载和外部重载
    4)声明比较类(少用)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 概述:JDK提供了概述:JDK提供了对于数组排序的库函数,java.util.Arrays类中的一些列重载的sor...
    张晨辉Allen阅读 8,259评论 1 5
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 33,734评论 18 399
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 177,085评论 25 709
  • 一、 C/C++程序基础 面试例题1——分析代码写输出(一般赋值语句的概念和方法)。 面试例题2—...
    LuckTime阅读 6,174评论 2 42
  • 青春无悔不死永远的爱人
    2015年春阅读 1,864评论 0 0

友情链接更多精彩内容