下面代码用了什么排序方法???
#include <iostream>
using namespace std;
const int maxn = 100001;
const int maxv = 10001;
int n, mi, ent;
int a[maxn], b[maxn], c[maxn];
int main() {
scanf("%d", &n);
mi = 0x7fffffff;
for (int i = 1; i <= n; i++) {
scanf("%d", a + i);
mi = mi < a[i] ? mi : a[i];
}
for (int i = n; i >= 1; i--) {
c[a[i] - mi]++;
}
for (int i = 1; i < maxv; i++) {
c[i] += c[i - 1];
}
for (int i = 0; i <= n; i++) {
b[c[a[i] - mi]--] = a[i];
}
for (int i = 1; i <= n; i++)
printf("%d ", b[i]);
return 0;
}
在线等!