摘要:c++ sort 函数用于对容器元素进行排序。默认情况下,它使用 < 运算符按升序排序。开发者还可以提供自定义比较函数来根据特定规则排序。常见示例包括对整数数组和字符串数组进行排序。

C++ 排序函数详解与示例演示
sort 函数概述
sort 函数是 C++ 标准模板库 (STL) 中一个强大的函数,用于对容器元素进行排序。它根据指定的比较规则将容器中的元素排列成升序或降序。
立即学习“C++免费学习笔记(深入)”;
函数声明如下:
template<typename Iter> void sort(Iter first, Iter last);
其中:
- Iter:指向容器元素的迭代器类型,可以在容器中移动和访问元素。
- first:容器开始迭代器,指定要排序元素的范围的第一个元素。
- last:容器结束迭代器,指定要排序元素的范围的最后一个元素之后的元素。
自定义比较规则
默认情况下,sort 函数使用 < 运算符进行比较,这意味着它将容器元素按升序排列。如果您希望根据不同的规则排序,可以提供一个自定义比较函数:
bool compare(const Type1& a, const Type2& b)
{
// 自定义比较规则
}
// 在 sort 函数中使用自定义比较函数
sort(first, last, compare);实战案例
示例 1:对整数数组排序
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
int arr[] = {5, 2, 7, 1, 3};
int len = sizeof(arr) / sizeof(arr[0]);
sort(arr, arr + len);
cout << "排序后的数组:";
for (int i = 0; i < len; i++)
{
cout << " " << arr[i];
}
cout << endl;
return 0;
}输出:
排序后的数组: 1 2 3 5 7
示例 2:对字符串数组排序
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
string arr[] = {"apple", "orange", "banana", "kiwi", "mango"};
int len = sizeof(arr) / sizeof(arr[0]);
sort(arr, arr + len);
cout << "排序后的数组:";
for (int i = 0; i < len; i++)
{
cout << " " << arr[i];
}
cout << endl;
return 0;
}输出:
排序后的数组: apple banana kiwi mango orange










