#include<stdio.h>
int *BucketSort(int *p,int num)
{
int i;
int j=0;
int box[30]={0};
int result[10];
for(i=0;i<num;i++)
{
box[p[i]]++;
}
for(i=0;i<30;i++)
{
while(box[i])
{
result[j]=i;
j++;
box[i]--;
}
}
return result;
}
void main()
{
int a[10]={2,4,1,7,8,9,11,11,28,20};
int num=10;
int i;
int *result;
//before sort
printf("the array before heap sort\n");
for(i=0;i<num;i++)
{
printf("%d ",a[i]);
}
printf("\n");
//heap sort
result=BucketSort(a,num);
//after sort
printf("after sort\n");
for(i=0;i<num;i++)
{
printf("%d ",result[i]);
}
getchar();
}
桶排序
最新推荐文章于 2024-04-19 14:46:11 发布