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次瀏覽

啟動您的職業

完成課程以獲得認證

開始
廣告
© . All rights reserved.