Cod sursa(job #2558477)
Utilizator | Barbu Iulia Andreea IuliaBarbu | Data | 26 februarie 2020 16:41:16 |
---|---|---|---|
Problema | Radix Sort | Scor | 0 |
Compilator | py | Status | done |
Runda | Arhiva educationala | Marime | 0.5 kb |
def Count_Sort(p):
global l
c=[0]*10
v=[0]*len(l)
for i in l:
c[i//p%10]+=1
for i in range(1,10):
c[i] += c[i - 1]
i=len(l)-1
while i>=0:
v[c[l[i]//p%10]-1]=l[i]
c[l[i]//p%10]-=1
i-=1
for i in range(len(l)):
l[i]=v[i]
f = open("date.in")
l=[]
l=f.readline().split()
for i in range(len(l)) :
l[i]=int(l[i])
#radix sort:
maxim=max(l)
p=1
while p<maxim:
Count_Sort(p)
p*=10
print(l)