C++中sort排序函数
作者:野牛程序员:2024-02-01 14:56:39 C++阅读 2789
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
