【STL】 C++常用容器介绍系列(三)----(sort函数)

1、sort函数的介绍:  

      sort函数的作用和他的名字一样,是用来排序的函数,sort函数通常接受一个数据集合作为输入,并按照特定的排序规则对数据进行重新排列。除了基本的排序功能外,sort函数通常还支持自定义比较函数,以便根据特定的规则对数据进行排序。


2、sort函数的使用:

    sort函数的构成,sort(首元素地址(必填),尾元素地址(必填),比较函数(非必填))

如果比较函数不填就自动按从小到大的顺序排序。

使用示例:

vector<int> a(n+1);

sort(a,a+a.size());

3、比较函数(cmp):

     如果我们不想要默认的排序我们也可以自己定义cmp函数,例如我们想把数组a从大到小排序。

使用示例:

​
bool cmp(int a,int b){
 return a>b;
}

sort(a,a+a.size(),cmp)

​

4、结构体排序:

   直接用示例理解,给你数量n个学生,并给你他们的名字和成绩,请你把他们排名,得分高的在上面,得分一样的根据名字的字典顺序排序。

#include<bits/stdc++.h> 
using namespace std; 

struct student{ // 定义学生结构体
    int score; // 分数
    char name[10]; // 姓名,使用字符数组存储
} stu[1000000]; // 定义最多存储1000000个学生信息的数组

bool cmp(student a, student b){ // 自定义比较函数,用于sort排序
    if(a.score != b.score) return a.score > b.score; // 先按分数降序排序
    else return strcmp(a.name, b.name) < 0; // 分数相同时按姓名字典序升序排序
}

int main(){ // 主函数
    int n; // 学生数量
    cin >> n; // 输入学生数量
    for(int i = 0; i < n; i++){ // 循环读入学生信息
        cin >> stu[i].score; // 输入学生分数
        cin >> stu[i].name; // 输入学生姓名
    }
    sort(stu, stu + n, cmp); // 使用自定义比较函数对学生信息进行排序
}

相关推荐

  1. STL容器及使用总结

    2024-03-26 19:52:02       26 阅读
  2. MySQL 函数介绍

    2024-03-26 19:52:02       57 阅读
  3. MySQL函数介绍

    2024-03-26 19:52:02       35 阅读
  4. C++ STL容器之vector(顺序容器)

    2024-03-26 19:52:02       28 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-26 19:52:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-26 19:52:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-26 19:52:02       82 阅读
  4. Python语言-面向对象

    2024-03-26 19:52:02       91 阅读

热门阅读

  1. 短剧小程序系统开发搭建短剧付费系统

    2024-03-26 19:52:02       39 阅读
  2. 为wordpress特定分类目录下的内容添加自定义字段

    2024-03-26 19:52:02       39 阅读
  3. webpack-loader详解

    2024-03-26 19:52:02       36 阅读
  4. 数据结构奇妙旅程之深入解析冒泡排序

    2024-03-26 19:52:02       39 阅读
  5. 低代码与供应链行业的融合:开启数字化新时代

    2024-03-26 19:52:02       43 阅读
  6. pytorch | torch.nn.function.interpolate的功能

    2024-03-26 19:52:02       37 阅读
  7. Django的一些常见问题

    2024-03-26 19:52:02       42 阅读
  8. Rust 实战练习 - 2. OS,IO,Platform(注册表,/etc)

    2024-03-26 19:52:02       38 阅读
  9. Rust 与 C++ ,孰优孰劣?

    2024-03-26 19:52:02       37 阅读