简化版桶排序

排序的数字多大,数组就得多大

## 代码

#include<stdio.h>
int main()
{
    int i, a[11], t, j;
    for(i = 0; i<11;i++)
        a[i] = 0;//将初始值都设为0 循环了11次 也就是桶的大小m
    for(i = 0; i < 5; i++)
    {
        scanf("%d",&t);//需要排序的数 5 n
        a[t]++;
    }
    for(i = 0; i < 11; i++)
        for(j = 1; j <= a[i];j++)//几个就打几次a[i] = 0 时没有进入 所以只有5 也就是n个进去 这边复杂度m+n
            printf("%d ",i);
}

 

复杂度总共就是O(m+n)

posted @ 2016-03-24 18:45  云胡同学  阅读(110)  评论(0编辑  收藏  举报