Python语言写一个桶排序程序
时间: 2023-04-07 10:03:17 浏览: 164
好的,我可以回答这个问题。以下是一个Python语言的桶排序程序:
```python
def bucket_sort(arr):
# 获取最大值和最小值
max_val = max(arr)
min_val = min(arr)
# 计算桶的数量
bucket_num = (max_val - min_val) // len(arr) + 1
# 初始化桶
buckets = [[] for _ in range(bucket_num)]
# 将元素放入桶中
for val in arr:
index = (val - min_val) // len(arr)
buckets[index].append(val)
# 对每个桶进行排序
for i in range(bucket_num):
buckets[i].sort()
# 将桶中的元素依次取出
res = []
for bucket in buckets:
res += bucket
return res
```
这是一个基本的桶排序程序,它可以对一个整数数组进行排序。
相关问题
使用python语言写一个冒泡排序
好的,以下是Python语言写的冒泡排序代码:
```python
def bubble_sort(arr):
n = len(arr)
# 遍历所有数组元素
for i in range(n):
# 最后i个元素已经排好序了
for j in range(0, n-i-1):
# 如果当前元素大于下一个元素,则交换它们的位置
if arr[j] > arr[j+1]:
arr[j], arr[j+1] = arr[j+1], arr[j]
return arr
```
其中,`arr`是待排序的数组。该算法的时间复杂度为O(n^2)。
使用Python语言写一个冒泡排序
好的,以下是Python语言写的冒泡排序代码:
```python
def bubble_sort(arr):
n = len(arr)
# 遍历所有数组元素
for i in range(n):
# 最后i个元素已经排好序了
for j in range(0, n-i-1):
# 如果当前元素大于下一个元素,则交换它们的位置
if arr[j] > arr[j+1]:
arr[j], arr[j+1] = arr[j+1], arr[j]
return arr
```
其中,`arr`是待排序的数组。该算法的时间复杂度为O(n^2)。
阅读全文