我正在尝试实现一种计数排序,根据定义,该排序是稳定的(这意味着,如果我们拥有数组3_1和3_2-它将返回3_1 3_2而不是3_2 3_1-两个值都等于3,但是顺序相同出现的方式不同
这是我在python中的代码(值从-100到100)
def counting_sort(array):
count_array = [0] * 200
sorted_array = []
for val in array:
count_array[val + 100] = count_array[val + 100] + 1
for val,count in enumerate(count_array):
print(f"val={val},count={count}")
for i in range(count):
sorted_array.append(val - 100)
return sorted_array
这是有效的计数排序吗?我认为我做对了..谢谢!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。