C++ 中有多种排序函数,包括 std::sort、std::stable_sort、std::partial_sort 和 std::nth_element。它们可用于对各种数据类型进行排序,默认使用小于运算符进行比较,但也支持使用自定义比较器修改排序规则。

C++ 排序
C++ 提供了多种函数来对数据进行排序,这些函数可用于对各种数据类型进行排序。本篇文章将介绍 C++ 中的排序函数,包括它们的用法和示例。
内置排序函数
C++ 标准库提供了以下内置排序函数:
立即学习“C++免费学习笔记(深入)”;
-
std::sort: 对给定的范围进行排序。 -
std::stable_sort: 对给定的范围进行排序,保持相等元素的相对顺序。 -
std::partial_sort: 对给定的范围进行部分排序,将前 n 个元素排序到给定的位置。 -
std::nth_element: 将给定范围中的第 n 个元素排序到给定的位置。
自定义比较器
默认情况下,内置排序函数使用小于运算符 (<) 比较元素。但是,我们可以通过提供自定义比较器来修改排序规则。自定义比较器是一个函数,它接受两个元素作为参数并返回指示它们相对顺序的布尔值。
用法示例
以下示例展示了如何使用内置排序函数对整数数组进行排序:
<code class="cpp">#include <iostream>
#include <algorithm>
using namespace std;
int main() {
int arr[] = {5, 3, 1, 2, 4};
int n = sizeof(arr) / sizeof(arr[0]);
// 使用升序比较器进行排序
sort(arr, arr + n);
// 打印排序后的数组
for (int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
cout << endl;
return 0;
}</code>运行程序将输出排序后的数组:
<code>1 2 3 4 5</code>











