C++中sort排序函数
作者:野牛程序员:2024-02-01 14:56:39 C++阅读 3030
C++中的sort排序函数用于对容器中的元素进行排序。它通常用于数组、向量(vector)、列表(list)等容器类型。sort函数可以按升序或降序排列元素,默认情况下按升序排列。
下面是sort函数的一般用法:
#include <algorithm> // 包含sort函数的头文件
#include <vector> // 包含vector容器的头文件
#include <iostream>
int main() {
std::vector<int> vec = {3, 1, 4, 1, 5, 9, 2, 6, 5};
// 使用sort函数对向量vec进行升序排序
std::sort(vec.begin(), vec.end());
// 输出排序后的向量
for (int num : vec) {
std::cout << num << " ";
}
std::cout << std::endl;
return 0;
}这段代码将向量vec中的元素进行升序排序,并将结果输出到标准输出流中。
如果需要按照自定义的排序规则进行排序,可以提供一个比较函数作为sort函数的第三个参数。比较函数应该接受两个参数,并返回一个bool值,指示第一个参数是否小于第二个参数。例如:
bool compare(int a, int b) {
// 自定义的比较函数,按照元素的绝对值进行排序
return abs(a) < abs(b);
}
int main() {
std::vector<int> vec = {-3, 1, -4, 1, 5, -9, 2, 6, -5};
// 使用自定义的比较函数对向量vec进行排序
std::sort(vec.begin(), vec.end(), compare);
// 输出排序后的向量
for (int num : vec) {
std::cout << num << " ";
}
std::cout << std::endl;
return 0;
}这段代码将向量vec中的元素按照它们的绝对值进行排序。
sort函数的时间复杂度通常为O(NlogN),其中N是要排序的元素数量。
野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892

