在 C++ 中,sort() 是一个常用的排序算法函数。它可以对一个数组或容器中的元素进行排序。sort() 函数可以通过指定比较函数来自定义排序的规则。
sort() 函数的语法为:
template <class RandomAccessIterator>
void sort (RandomAccessIterator first, RandomAccessIterator last);
template <class RandomAccessIterator, class Compare>
void sort (RandomAccessIterator first, RandomAccessIterator last, Compare comp);
参数说明:
- first:要排序的元素的起始位置。
- last:要排序的元素的结束位置(不包含在范围内)。
- comp:用于比较元素的函数对象。如果不指定,则默认使用
<
操作符进行比较。
sort() 函数使用的是快速排序算法或者归并排序算法。它会对指定范围内的元素进行排序,并将结果存储在原始容器或数组中。
#include <algorithm>
#include <iostream>
#include <vector>
int main() {
std::vector<int> nums = {5, 2, 7, 1, 9};
// 使用默认的比较函数从小到大排序
std::sort(nums.begin(), nums.end());
// 输出排序结果
for (int num : nums) {
std::cout << num << " ";
}
return 0;
}
以上代码使用了 sort() 函数对一个 vector 容器进行排序,并输出结果。执行结果为:1 2 5 7 9。
需要注意的是,sort() 函数是一个自动递增的排序函数,如果要按照递减的顺序排序,需要指定一个自定义的比较函数。例如,可以使用 lambda 表达式作为比较函数:
std::sort(nums.begin(), nums.end(), [](int a, int b) {
return a > b;
});