计数排序

来源:互联网 发布:卖家数据 编辑:程序博客网 时间:2024/05/29 09:02
//计数排序
#include <stdio.h>
void count_sort(int *a,int *b,int size,int k)
{
    int c[1000],i,value,pos;
for(i=0;i<=k;i++)
c[i]=0;
for(i=0;i<size;i++)
c[a[i]]++;
    for(i=1;i<=k;i++)
c[i]=c[i]+c[i-1];
for(i=0;i<size;i++)
{
value=a[i];
pos=c[value];
b[pos-1]=value;
c[value]--;
}
}
void main()
{
int a[]={2,5,3,0,2,3,0,3},b[100];
count_sort(a,b,8,5);
for(int i=0;i<8;i++)
printf("%d ",b[i]);
printf("\n");
}
0 0
原创粉丝点击