c++ STL中sort函数

c++ STL中sort函数是一个快速排序函数可以对任何类型的数据进行排序。
STL,C++中的标准模板库, 使用起来方便并且效率较高;
#include<algorithm>//用sort要包含这个头文件
一:对基本类型数组从小到大排序
sort( 数组名+n1,数组名+n2);
将数组中下标从n1到n2的元素进行从小到大排序,不包括n2,通过n1,n2 可以对整个或者部分数组排序;
二:对元素类型为T的基本类型数组从大到小排序
sort( 数组名+n1,数组名+n2,greater<T>());
T对应各种元素类型
同样,将数组中下标从n1到n2的元素进行从大到小排序,不包括n2,通过n1,n2 可以对整个或者部分数组排序;
三:第三种自定义排序规则
1排序规则结构体定义:

1
2
3
4
5
6
sort(数组名+n1,数组名+n2,排序规则结构名);
struct 结构名{
     bool operator()(const T &a1, const T &a2){
          return    ;
     }
};

返回值为true说明a1应该排在a2前面,false则相反,T对应元素类型

举个例子:
排序规则为按个位数从小到大排序:

1
2
3
4
5
6
struct Rule1{
    bool operator()(const int &a1, const int &a2){
        return (a1%10)<(a2%10);
    }
};
调用时sort(a,a+sizeof(a)/sizeof(int),Rule1());

sort还可以对结构体进行排序。

在结构体中重载<运算符
练习
P1177 【模板】快速排序
P7072直播获奖
P1223 排队接水
P1628 合并序列
P1296 奶牛的耳语

 

posted @   心悟&&星际  阅读(153)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
点击右上角即可分享
微信分享提示