C/C++教程

c++ STL中sort函数

本文主要是介绍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排序规则结构体定义:

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

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

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

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 奶牛的耳语

 

这篇关于c++ STL中sort函数的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!