#include<iostream> #include<cstdio> int a[10000001]; using namespace std; void qsort(int i, int j) { int left = i, right = j; int flag = a[(left+ right) / 2]; int tmp; do { while (a[left] < flag) left++; while (a[right] > flag) right--; if (left <= right) { tmp = a[left]; a[left] = a[right]; a[right] = tmp; left++; right--; } } while (left <= right); if (left < j) qsort(left, j); if (right > i) qsort(i, right); } int main() { int n; cin >> n; for (int i = 1; i <= n; i++) cin >> a[i]; qsort(1, n); for (int i = 1; i <= n; i++) cout << a[i]<<" "; return 0; }
algorithm自带的sort,sort是升序,
https://www.cnblogs.com/icesunbo/p/11484046.html
https://www.cnblogs.com/buanxu/p/12772700.html
#include<iostream> #include<cstdio> #include<algorithm> using namespace std; int a[1000010], n; int main() { 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; }
降序
#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
int a[1000010], n;
bool compare(int a, int b)
{
return a > b;
}
int main()
{
cin >> n;
for (int i = 0; i < n; i++)
cin >> a[i];
sort(a, a + n,compare);
for (int i = 0; i < n; i++)
cout << a[i] << " ";
return 0;
}
本文来自博客园,作者:magicat,转载请注明原文链接:https://www.cnblogs.com/magicat/p/15057867.html
浙公网安备 33010602011771号