测试元素大小范围为[0,10]的10000容量的数组排序;计数排序
时间: 2024-04-11 16:26:51 浏览: 15
你可以使用计数排序算法来对这个大小范围为[0,10]的10000容量的数组进行排序。计数排序是一种非比较排序算法,它通过统计每个元素出现的次数,然后按照元素的大小顺序依次输出,从而实现排序。
以下是使用计数排序算法对数组进行排序的示例代码:
```python
def counting_sort(arr):
# 创建一个长度为11的计数数组,其中索引表示元素的值,值表示元素出现的次数
count = [0] * 11
# 统计每个元素出现的次数
for num in arr:
count[num] += 1
# 根据计数数组重构原始数组
sorted_arr = []
for i in range(11):
sorted_arr.extend([i] * count[i])
return sorted_arr
# 生成随机数组
import random
arr = [random.randint(0, 10) for _ in range(10000)]
# 使用计数排序对数组进行排序
sorted_arr = counting_sort(arr)
print(sorted_arr)
```
在上述代码中,我们首先创建一个长度为11的计数数组,然后遍历原始数组统计每个元素出现的次数。接下来,我们根据计数数组的值重构原始数组,最终得到一个有序的数组。
请注意,计数排序适用于元素范围较小且整数的排序场景。如果元素范围较大或包含浮点数等其他类型的数据,计数排序可能不适用。