简单的桶排序(个人练习算法)

这个桶排序只是一个10以内的整数的排序,属于一个比较简单的。只是作为个人学习算法的练习,在此分享出来,请指教!微笑

C代码:

#include <stdio.h>

/*
*描述:桶排序
*作者:温建平
*时间:2017-12-16 13:17
*
*/
int main(){
	int a[11],i,j,t;
	//初始化数组赋值为0
	for(i=0;i<=10;i++){
		a[i]=0;
	}
	for(j=0;j<=10;j++){
		printf("a[%d]=%d  ",j,a[j]);
	}
	
	printf("\n请输入5个10以内整数,按回车输入下一个:\n");
	/*
	*把每一个数读取到变量t中,然后进行计数
	*/
	for(i=0;i<5;i++){
		scanf("%d",&t);
		a[t]++;
	}
	printf("数组中每个位置出现次数详情:\n");
	for(t=0;t<10;t++){
		printf("%d  ",a[t]);
	}
	
	printf("\n最后桶排序的结果(从小到大):");
	for(i=0;i<=10;i++){
		for(j=1;j<=a[i];j++){
			printf("%d  ",i);
		}
	}
	printf("\n最后桶排序的结果(从大到小):");
	for(i=10;i>=0;i--){
		for(j=1;j<=a[i];j++){
			printf("%d  ",i);
		}
	}
	return 0;
}


运行结果:




版权声明:本文为W07028057原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。