首页 > 编程笔记

C++ sort()函数详解

在 C++ 标准库中,提供了 4 个用于对数据进行排序的函数,分别是 sort(),stable_sort(),partial_sort() 和 partial_sort_copy(),本节先带领大家了解 sort() 函数。

sort() 函数定义在<algorithm>文件中,用于对指定范围内的元素进行排序。默认情况下,它会对元素进行升序排序,当然也可以通过提供自定义的比较函数或函数对象来自定义排序规则。

sort() 函数的语法格式如下:
void sort (RandomAccessIterator first, RandomAccessIterator last);
void sort (RandomAccessIterator first, RandomAccessIterator last, Compare comp);

使用 sort() 函数,有以下几点需要注意:
【实例】下面的 C++ 程序演示了 sort() 函数的功能和用法。
#include <iostream>
#include <vector>
#include <algorithm>

bool customCompare(int a, int b) {
    return a > b;  // 降序排序
}

int main() {
    std::vector<int> data = {9, 3, 6, 1, 7, 4, 5};
   
    // 默认排序:升序
    std::sort(data.begin(), data.end());
    std::cout << "Ascending order: ";
    for(int num : data) {
        std::cout << num << " ";
    }
    std::cout << std::endl;

    // 使用自定义比较函数:降序
    std::sort(data.begin(), data.end(), customCompare);
    std::cout << "Descending order: ";
    for(int num : data) {
        std::cout << num << " ";
    }
    std::cout << std::endl;

    return 0;
}
执行结果为:

Ascending order: 1 3 4 5 6 7 9
Descending order: 9 7 6 5 4 3 1

推荐阅读