Radix sort
def countsort(arr,exp):
n=len(arr)
op=[0]*n
count=[0]*10
for i in range(0,n):
index=int(arr[i]/exp)
count[(index)%10]+=1
for i in range(1,10):
count[i] += count[i-1]
i=n-1
while i>=0:
index=int(arr[i]/exp)
op[count[(index)%10]-1]=arr[i]
count[(index)%10] -= 1
i-=1
for i in range(0,len(arr)):
arr[i] = op[i]
# print(arr)
def write(arr):
for i in arr:
print(i,end='\t')
print("\n")
def radix(arr):
exp=1
max1=max(arr)
while(int(max1/exp)) > 0:
countsort(arr,exp)
#print(int(max1/exp))
write(arr)
exp *= 10
arr = list(int(x) for x in input("Enter Elements separated by ',' ").split(","))
print("original array")
radix(arr)