简化版桶排序

时间:2021-01-24 02:28:06

 定义:

  简化版桶排序是指对0~n范围进行排序时,需要定义n个桶,每个桶对应一种元素或一个范围内的元素,再进行元素个数的存储,因为实质上存储的是元素个数,所以无须进行元素的比较替换,时间复杂度是O(N)

概念图

 

简化版桶排序

 

源代码如下,揣摩不同的 "i "代表着什么

/**********************************************************************

实现简单的桶排序存五个人的信息
输入: 5 3 5 2 8
输出: 8 5 5 3 2

**********************************************************************/
#include<stdio.h>

int main()
{
int a[11];
int i,j;
int num;
//初始化
for(i=0;i<11;i++)
{
a[i]=0;
}
//输入
for(i=0;i<5;i++)
{
scanf("%d",&num);
a[num]++;
}
//输出
for(i=10;i>0;i--)
{
if(a[i]!=0)
{
for(j=0;j<a[i];j++)
{
printf("%3d",i);
}
}
}
printf("\n");
system("pause");
return 0;
}

 

本题图解:

  简化版桶排序

简化版桶排序

简化版桶排序