1、桶排序

可以排序的范围数较小,是一种以空间换时间的排序算法;

不考虑重复元素的出现---->桶排;解决方案在计数排序;

(1)、代码实现

#include<stdio.h>voidbucketSort(int*a,intcount);voidshowArray(int*a,intcount);voidshowArray(int*a,intcount){inti;for(i=0;i<count;i++){printf("%d",a[i]);}printf("\n");}voidbucketSort(int*a,intcount){intb[10]={0};//知道要排序值的最大范围inti;intn=0;for(i=0;i<count;i++){b[a[i]]++;}for(i=0;i<10;i++){if(b[i]){a[n++]=i;}}}voidmain(void){inta[]={3,5,1,8,9,6};intcount=sizeof(a)/sizeof(int);bucketSort(a,count);showArray(a,count);}

(2)、结果截图


(3)、算法分析

时间复杂度:O(n);