用现成的排序

8 分钟

自己写排序是为了搞懂原理,但真正做项目、比赛时,我们直接用语言自带的排序函数就好——它比大多数人手写的都快,也不容易出错。C++ 里就是 <algorithm> 里的 sort,给它数组的开头和结尾就行:

#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main() {
    vector<int> v = {5, 2, 8, 1, 9};
    sort(v.begin(), v.end());               // 默认从小到大
    for (int x : v) cout << x << ' ';        // 1 2 5 8 9
    cout << '\n';
    int a[4] = {4, 3, 2, 1};
    sort(a, a + 4);                         // 普通数组:首指针, 尾指针
    for (int x : a) cout << x << ' ';        // 1 2 3 4
}

要记住 sort 的第二个参数是"最后一个元素的下一个位置",也就是 a + n,不是 a + n - 1;写错会漏掉最后一个数。

小纸条

查一下你用的语言里排序怎么调用。

登录 后可看答案

用现成的排序 · C++ 入门 · op599 课程