关于计数排序
2025-09-27 18:00:04
发布于:四川
计数排序的基本逻辑:
每一次输入的数字作为下标(x),在另一个数组中的第 x 项增加1,记录这个数字出现的次数。
输出时遍历数组,循环第 a[i] 项输出 i,以此完成排序。
代码:
#incldue<bits/stdc++.h>
using namespace std;
int n,a[10005]={0};//数组的大小取决于这组数值中的最大值
int main(){
cin>>n;
for(int i=1;i<=n;i++){
int x;
cin>>x;
a[x]++;//记录数字出现次数
}
for(int i=1;i<=10005;i++){
for(int j=1;j<=a[i];j++){//嵌套
cout<<i<<" ";
}
}
return 0;
}
计数排序较为稳定,时间复杂度O(n+k),是一种巧妙的排序方法,非常好用
这里空空如也













有帮助,赞一个