zoukankan      html  css  js  c++  java
  • sort自定义排序实现

    1、sort是#include标准库中的函数,sort函数有三个参数,按顺序为:
    (1)、数组的起始地址;
    (2)、数组的结束地址;
    (3)、排序方法;
    sort(start, end, complare);
    使用时,sort(start, end);complare默认从小到大。
    2、实现自定义排序:
    eg:

        struct stu{
          int id;
          string name;
          int Chinese;
          int Math;``
          int English;
        };
    

    实现按语文成绩大到小排序,如果语文成绩一样则按数学成绩大到小排序,如果数学成绩也一样则按英语成绩大到小排序,如果语数英成绩都一样则按id从小到大排序。
    假设当前有一个存放学生数据的数组vector studentsVec,实现如下:

      sort(studentsVec.begin(), students.end(), ([](const stu& A, const stu& B)-> bool <br/>
      {
        if(A.Chinese == B.Chinese)
        {
          if(A.Math == B.Math)
          {
            if(A.English == B.English)
            {
               return A.id < B.id;
            }
            else
            {
               return A.Englisg > B.English;
            }
          }
          else
          {
            return A.Math > B.Math;
          }
        }
        else
        {
          return A.Chinese > B.Chinese;
        }
      }
      ));
    
  • 相关阅读:
    SpringBoot-源码解析
    SpringBoot快速部署
    vue.js
    数据库设计--三范式
    mysql 建表及练习
    索引复制迁移
    nginx检查、重启、、、
    设计模式--Strategy 策略模式
    设计模式--设计原则
    设计模式--Template Method(模板方法)
  • 原文地址:https://www.cnblogs.com/izzwhf/p/14676972.html
Copyright © 2011-2022 走看看