常见算法之桶排序

来源:互联网 发布:rxjava对比java多线程 编辑:程序博客网 时间:2024/06/05 05:41

桶排序应该是最简单的一种排序方法 同时也因为简单而有很多限制和缺点
缺点就是非常浪费空间 如要需要排序的数字很大 那么要申请一个很大的空间

这里举一个最简单的例子去介绍桶排序
如果一位老师要给5位学生的分数排序 分数为0-10分
桶排序的方法就是建立一个大小为11的数组,a[0]-a[10]都初始化为0。
当有一个分数是1 那么a[1] = 1; 如果有两个分数都为1,那a[1] = 2。
所以依据这个思想 我们就可以简单的写个程序验证

#include <stdio.h>int main(void){    int a[11],i,j,t;    for (i = 0; i <= 10; i++)    {    a[i] = 0;    }    for (i = 1; i <= 5; i++)    {        scanf("%d",&t);        a[t]++;    }    for (i = 0; i <= 10; i++)        for (j = 1; j <= a[i]; j++)        {            printf("%d",i);        }    return 0;}

如果输入的是 5 1 3 8 2
那么输出的就是 12358

0 0
原创粉丝点击