C++ sort()函数

C++中的sort()函数是用于对容器(如数组、向量、链表等)中的元素进行排序的标准库函数。它使用了一种称为快速排序(quicksort)的排序算法,通常具有较好的性能。

sort()函数位于<algorithm>头文件中,并接受两个迭代器作为参数,表示待排序元素的范围。例如,如果要对一个整型向量vector<int> nums进行排序,可以这样调用sort()函数:

#include <algorithm>
#include <vector>

int main() {
    std::vector<int> nums = {4, 2, 8, 5, 1};
    std::sort(nums.begin(), nums.end());
    // 现在nums中的元素已经按升序排列
    return 0;
}

sort()函数默认使用升序排序,如果需要降序排序,可以使用greater函数对象作为第三个参数传递给sort()函数。例如:

#include <algorithm>
#include <functional>
#include <vector>

int main() {
    std::vector<int> nums = {4, 2, 8, 5, 1};
    std::sort(nums.begin(), nums.end(), std::greater<int>());
    // 现在nums中的元素已经按降序排列
    return 0;
}

此外,sort()函数还可以接受一个可调用对象(函数或函数对象)作为第三个参数,用于自定义排序的方式。通过自定义比较函数,您可以根据特定的排序准则对元素进行排序。

需要注意的是,sort()函数对容器中的元素进行原地排序,即不会创建新的容器,而是直接修改原容器中的元素顺序。此外,sort()函数的时间复杂度通常为O(NlogN),其中N是待排序元素的数量。

总结一下,C++的sort()函数是一个非常方便的用于排序容器元素的函数,可以轻松地对数组、向量等进行升序或降序排序,并且还可以通过自定义比较函数实现特定的排序准则。

猜你喜欢

转载自blog.csdn.net/2201_75772333/article/details/130701805