一、sort() 函数是什么
在 C++ 的标准库中,sort() 函数是一个强大且常用的工具,定义于 <algorithm> 头文件中。它负责对容器(如 vector、array 等)或普通数组中的元素进行排序。无论是处理简单的整数数组,还是复杂的自定义结构体,sort() 函数都能轻松应对,将杂乱无章的数据按照期望的顺序排列。
二、sort() 函数基本语法
2.1 函数原型
sort() 函数有两种常见的原型:
默认比较器版本:
template<class RandomAccessIterator>
void sort(RandomAccessIterator first, RandomAccessIterator last);
first 和 last 都是随机访问迭代器,排序范围是左闭右开区间 [first, last)。例如对 vector<int> vec 排序:sort(vec.begin(), vec.end());。
自定义比较器版本:
template<class RandomAccessIterator, class Compare>
void sort(RandomAccessIterator first, RandomAccessIterator last, Compare comp);
comp 是可调用对象,当 comp(a, b) 返回 true 时,表示 a 排在 b 前面。例如降序排序:
bool compare(int a, int b) {
return a > b;
}
sort(vec.begin(), vec.end(), compare);
2.2 头文件与命名空间
使用前需包含 <algorithm> 头文件,并使用 std 命名空间:
#include <algorithm>
using namespace std;
// 或者使用 std::sort(arr, arr + 5);

