桶排序—C—Python

1-1 C实现桶排序,如果对数据范围在0~100的整数进行排序,则需要101个桶

#include<stdio.h>
int main()
{
    int n,i,j,t;
    int book[101]={0};
    scanf("%d",&n);       //输入一个数n,表示接下来有n个数
    for(i=1;i<=n;i++)
    {
      scanf("%d",&t);
      book[t]++;        //循环输入n个数,并进行桶排序
   }
  for(i=0;i<=100;i++)          //依次判断编号0到100的桶,从小到大排序,
  for(j=1;j<=book[i];j++)  
  printf("%d ", i);
  return 0;
}

python实现桶排序

def bucket_sort(lst):
    book_lst=[0]*101
    result=[]
    for i in lst:
        book_lst[i]+=1
    for index in range(len(book_lst)):
        while book_lst[index]>0:
            result.append(index)
            book_lst[index]-=1
    return result
if __name__=='__main__':
    eles=input('intput elements:').strip().split()  #输入只能相隔一个空格,                  
                                                    #也可以不用strip()
    list = [int(ele) for ele in eles]           #把输入的值转换成整型给list
    list=bucket_sort(list)
    print(list)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值