最近在看《啊哈!算法》,记录下笔记吧!
将5 3 5 2 8进行排序
#include<stdio.h>
int main(){
int a[11],t,i,j;
for(i=0;i<12;i++){
a[i]=0;
}
for(i=0;i<=4;i++){
scanf("%d",&t);
a[t]++;
}
for(i=10;i>0;i--){
for(j=1;j<=a[i];j++){
printf("%d",i);
}
}
getchar();
getchar();
}
输入n个0~1000的数并进行排序
#include<stdio.h>
int main(){
int book[1001],i,j,n,t;
printf("Please input the numbers\n");
scanf("%d",&n);
for(i=0;i<=1001;i++){
book[i]=0;
}
for(i=0;i<n;i++){
scanf("%d",&t);
book[t]++;
}
for(i=0;i<1001;i++){
for(j=1;j<=book[i];j++){
printf("%d",i);
}
}
}
时间复杂度为O(M+N),M为桶的个数,N为输入的数的个数