当前位置:首页算法 > 正文

Python实现的计数排序算法示例

作者:野牛程序员:2023-12-15 09:47:39算法阅读 2513

计数排序是一种非比较性的排序算法,适用于待排序元素的取值范围较小的情况。以下是一个用 Python 实现的计数排序算法的示例:

def counting_sort(arr):
    # 寻找最大值和最小值
    max_val = max(arr)
    min_val = min(arr)

    # 计算计数数组的长度,并初始化计数数组
    count_length = max_val - min_val + 1
    count = [0] * count_length

    # 计算每个元素的频率
    for num in arr:
        count[num - min_val] += 1

    # 根据计数数组重构排序后的数组
    sorted_arr = []
    for i in range(count_length):
        sorted_arr.extend([i + min_val] * count[i])

    return sorted_arr

# 示例
unsorted_array = [4, 2, 7, 1, 9, 5, 3]
sorted_array = counting_sort(unsorted_array)
print(sorted_array)

请注意,这个示例假定输入数组中的元素都是整数,并且数组中的元素值范围相对较小。


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击