C++ 面试题
目录

C++ 中如何使用 sort 函数进行排序?

· 约 3 分钟读完 · 第 67 / 181 章

推荐答案

本题详细解读

1. std::sort 函数的基本用法

std::sort 是 C++ 标准库中的一个函数,用于对容器中的元素进行排序。它位于 <algorithm> 头文件中。std::sort 的基本用法如下:

  • 起始迭代器:指向排序范围的起始位置。
  • 结束迭代器:指向排序范围的结束位置(不包含该位置)。

2. 默认排序方式

std::sort 默认使用 < 运算符进行升序排序。对于基本数据类型(如 int、double 等),可以直接使用 std::sort 进行排序。

3. 自定义排序规则

如果需要自定义排序规则,可以通过传递一个比较函数或 lambda 表达式作为第三个参数:

例如,降序排序:

或者使用 lambda 表达式:

4. 复杂度

std::sort 的平均时间复杂度为 O(N log N),其中 N 是待排序元素的数量。

5. 适用容器

std::sort 适用于支持随机访问迭代器的容器,如 std::vector、std::array、std::deque 等。对于不支持随机访问的容器(如 std::list),可以使用 std::list::sort 方法。

6. 示例代码解释

在示例代码中,我们首先定义了一个 std::vector<int> 容器 vec,并初始化了一些整数。然后使用 std::sort 对 vec 进行升序排序,最后输出排序后的结果。

这行代码将 vec 中的元素按升序排列。