用于计数排序的 Python 程序
pythonserver side programmingprogramming
在本文中,我们将了解下面给出的问题陈述的解决方案。
问题陈述− 给定一个数组,我们需要使用计数排序的概念对数组进行排序。
计数排序是一种在特定范围内处理键的技术。它涉及计算具有不同键和值的对象的数量。最后,我们进行算术计算以获得每个对象的位置并显示输出。
现在让我们观察下面实现中的解决方案 −
示例
def countSort(arr): # 将对 arr 进行排序的输出字符数组 output = [0 for i in range(256)] # 创建一个用 0 初始化的计数数组 count = [0 for i in range(256)] # 因为字符串是不可变的 ans = ["" for _ in arr] # count for i in arr: count[ord(i)] += 1 # 字符在输出数组中的位置 for i in range(256): count[i] += count[i-1] # 输出字符数组 for i in range(len(arr)): output[count[ord(arr[i])]-1] = arr[i] count[ord(arr[i])] -= 1 # 排序字符数组 for i in range(len(arr)): ans[i] = output[i] return ans # main arr = "Tutorialspoint" ans = countSort(arr) print ("Sorted character array is "+str("".join(ans)))
输出 −
Sorted character array is Taiilnooprsttu
所有变量均在局部范围内声明,其引用如上图所示。
结论
在本文中,我们了解了如何编写用于计数排序的 Python 程序