zoukankan      html  css  js  c++  java
  • STL——排序

    sort

    原型:

    sort(首元素地址,尾元素地址的下一个地址,比较函数)
    注:

    1. cmp缺省时默认升序排序
    2. 非稳定排序(stl有扩展的稳定排序函数)
    3. sort并不是简单的快速排序,它对普通的快速排序进行了优化,此外,它还结合了插入排序和推排序。系统会根据你的数据形式和数据量自动选择合适的排序方法,这并不是说它每次排序只选择一种方法,它是在一次完整排序中不同的情况选用不同方法,比如给一个数据量较大的数组排序,开始采用快速排序,分段递归,分段之后每一段的数据量达到一个较小值后它就不继续往下递归,而是选择插入排序,如果递归的太深,他会选择推排序。

    关于比较函数cmp

    bool cmp(int a,int b ){
        return a>b;   //如果a>b,则把a放在b前面
    }
    
    

    结构体的二级排序(首先按x升序排序,若x相等则按y降序排序)

    struct node{
    int x,y;
    }
    bool cpm(node a,node b){
    if(node.x!=node.y) return a.x>b.x;
    else return a.y<b.y;
    }
    
  • 相关阅读:
    Day09 约束
    Day08 数据处理
    Day07 创建和管理表
    Day06 子查询
    Appium学习_01(连接、apppackage名查询、appactivity名查询)
    我的读书方法
    Python自动化学习记录
    FineReport帆软报表学习积累
    ERP企业资源管理 详解
    Centos7学习记录
  • 原文地址:https://www.cnblogs.com/Ivan-Luo/p/11209290.html
Copyright © 2011-2022 走看看