桶排序
def bucket_sort(li,n,max_num):
buckets = [[] for _ in range(n)]
for var in li:
i = min(var//(max_num//n),n-1)
buckets[i].append(var)
for j in range(len(buckets[i])-1,0,-1):
if buckets[i][j] < buckets[i][j-1]:
buckets[i][j],buckets[i][j-1] = buckets[i][j-1],buckets[i][j]
count = 0
for i in range(len(buckets)):
count += len(buckets[i])
if count >= max_num//2 and count-len(buckets[i]) < max_num//2:
new_li = buckets[i]
down_index = count - len(buckets[i])
mid_index = max_num//2 - down_index
return new_li[mid_index-1]