桶排序—C—Python

xiaoxiao2021-02-28  67

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)
转载请注明原文地址: https://www.6miu.com/read-74691.html

最新回复(0)