C++的sort
函数是标准模板库(STL)中提供的高效排序算法,位于<algorithm>
头文件中。它支持对数组或容器(如vector,
deque
)中的元素进行排序,并允许自定义排序规则。
基本用法
1.默认升序排序
默认使用operator<
进行升序排列:
例如:
vector<int> vec = {5, 3, 1, 4, 2}; sort(vec.begin(), vec.end()); // 结果:1 2 3 4 5
2.降序排序
使用标准库提供的greater<T>
函数对象(需包含<functional>
头文件):
#include <functional> sort(vec.begin(), vec.end(), greater<int>()); // 结果:5 4 3 2 1
自定义排序规则
1. 使用比较函数
定义一个返回bool
的函数,表示两个元素的顺序:
struct Person { string name; int age; }; // 按年龄升序排列 bool compareByAge(const Person &a