zoukankan      html  css  js  c++  java
  • 关于STL的sort的时间复杂度问题

    STL之sort

    今天写一个题,T了好久,结果是STL的sort的问题,下面来简单说一下。


    sort在STL中的定义

    sort(_RandomAccessIterator __first, _RandomAccessIterator __last,
    _Compare __comp)

    它是一种比较综合的排序,理论复杂度比一般手写的要好,但是使用时的复杂度有很大区别。

    1. 第一种

      sort(array+1,array+n+1)

      这种对一个数组直接按默认从小到大排序,当然是最快的一种用法。

    2. 第二种

      sort(array+1,array+n+1,cmp)

      这种用自定义的bool型比较函数的就会慢不止一倍我做题就因为这个卡

    3. 第三种

      sort(struct+1,struct+n+1)

      这种比第二种要快比第一种要慢,它是对一个结构体按照结构体内重载的<来比较的

    4. 第四种

      sort(struct+1,struct+n+1,cmp())
      这种是定义functor的排序,和第一种差不了多少,算是较好的结构体排序我用这个才A了那道题

      struct cmp{bool operator()(struct a,struct b){return a.s<b.s;}}

  • 相关阅读:
    mysql 数据库备份
    半同步复制
    mysql在线热备
    mysqlxtrabackup备份
    MySQL备份与恢复
    Mysql语句类型
    MySQL的体系结构
    MySQL介绍及安装
    Shell-02-if
    Shell 脚本进阶,经典用法及其案例
  • 原文地址:https://www.cnblogs.com/VictoryCzt/p/10053447.html
Copyright © 2011-2022 走看看