python 基数排序 代码示例
时间: 2023-10-17 07:25:30 浏览: 87
基于基数排序的小例子
当然,这是一个示例的基数排序的Python代码:
```python
def countingSort(arr, exp1):
n = len(arr)
output = * n
count = * 10
for i in range(0, n):
index = arr[i] // exp1
count[index % 10] += 1
for i in range(1, 10):
count[i] += count[i - 1]
i = n - 1
while i >= 0:
index = arr[i] // exp1
output[count[index % 10] - 1] = arr[i]
count[index % 10] -= 1
i -= 1
i = 0
for i in range(0, len(arr)):
arr[i] = output[i]
def radixSort(arr):
max_value = max(arr)
exp = 1
while max_value // exp > 0:
countingSort(arr, exp)
exp *= 10
# 示例使用:
arr = [170, 45, 75, 90, 802, 24, 2, 66]
radixSort(arr)
print("排序结果:")
for i in range(len(arr)):
print(arr[i], end=" ")
```
这个代码示例中,`radixSort` 函数实现了基数排序算法。`countingSort` 函数是用于计数排序的辅助函数。示例使用了一个整型数组 `arr` 来进行排序,并输出排序后的结果。你可以根据需要修改输入数组 `arr` 的值来测试不同的输入。
阅读全文