用现成的排序
约 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;写错会漏掉最后一个数。
小纸条
查一下你用的语言里排序怎么调用。
登录 后可看答案