跳到正文
信奥逐课

第 135 课

sort

🟢 入门 约 5 分钟

一句话理解

sort 把一段区间排成升序。

为什么要学

竞赛第一排序工具,通常快排+插排+堆排的混合实现。

讲解

#include 。sort(a, a+n) 或 sort(v.begin(), v.end())。

复杂度 O(n log n)。自定义比较见 cmp 那课。不稳定。

例子

int a[4] = {3, 1, 2, 1};
sort(a, a + 4);
for (int i = 0; i < 4; i++) cout << a[i];

输出:

1123

变成非降序。

常见错误

练习 做完再看下一课

对数组 a[0..n-1] 排序常写 sort(a, a + ____)

在线练习 C++ 在浏览器里编译,代码不会上传

Ctrl / ⌘ + Enter 运行 · Tab 缩进

输出
 

进度保存在本机浏览器里。

左右方向键也可翻课