Python计数排序程序


在本文中,我们将详细了解下面问题表述的解决方案。

问题表述− 给定一个数组,我们需要使用计数排序的概念对数组进行排序。

计数排序是一种技术,其中我们在特定范围内的键值下操作。它涉及计算具有不同键和值的对象的数量。最后,我们进行算术计算来获取每个对象的位置并显示输出。

现在,让我们观察下面实现中的解决方案 −

示例

 真实演示

def countSort(arr):
   # The output character array that will have sorted arr
   output = [0 for i in range(256)]
   # Create a count array initialized with 0
   count = [0 for i in range(256)]
   # as strings are immutable
   ans = ["" for _ in arr]
   # count
   for i in arr:
      count[ord(i)] += 1
   # position of character in the output array
   for i in range(256):
      count[i] += count[i-1]
   # output character array
   for i in range(len(arr)):
      output[count[ord(arr[i])]-1] = arr[i]
      count[ord(arr[i])] -= 1
   # array of sorted charcters
   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计数排序程序。

更新于: 2019-12-20

147次浏览

启动您的职业

完成课程以获得认证

开始
广告