竞赛
考级
由于作者刚刚自学完堆,然后突然就悟了。找了个题目来练练手。 考虑堆排序。 建一个小根堆,用vector输入,之后存进堆里去,在取出堆顶元素就行。 然而有脑子的人都能发现vector貌似纯属多余,所以忘掉上面的代码
为啥不用sort??\color{yellow}{为啥不用sort??}为啥不用sort??
解题思路 用 sort 排序,系统默认从小到大所以就不需要 cmp 了 代码
时间复杂度:稳定O(n log n) 空间复杂度:稳定O(n) 稳定性:不稳定 code:
#include <iostream> #include <bits/stdc++.h> using namespace std; using ll = long long; int main() { ios::sync_with_stdio(0); cin.tie(0); int a[10000010],n; cin >> n; for ( int i = 0;i < n;i++ ) cin >> a[i]; sort ( a,a + n ); for ( int i = 0;i < n;i++ ) cout << a[i] << " "; return 0; }
提交答案之后,这里将显示提交结果~