GitHub Viewer
'''
Assuming numbers between 1 and 100,000
'''
# from random import randint
def countingSort(arr):
countarr= [0]*100001
for num in arr:
countarr[num]+= 1
for i in range(1,len(countarr)):
countarr[i]= countarr[i-1] + countarr[i]
sortedarr= [0]*len(arr)
for i in range(len(arr)):
sortedarr[countarr[arr[i]]-1]= arr[i]
countarr[arr[i]]-= 1
return sortedarr
# arr= [randint(1,100000) for i in range(10000)]
# print (countingSort(arr))