Pagini recente » Cod sursa (job #1758647) | Cod sursa (job #923708) | Cod sursa (job #2296580) | Cod sursa (job #2691789) | Cod sursa (job #2609548)
def radix_sort(l):
if (l!=[]):
baza = 10
vector1 = [[] for i in range(10)]
vector2 = [[] for i in range(10)]
nr = 0
m = max(l)
while (m):
nr += 1
m = m // baza
for x in l:
vector1[x % baza].append(x)
i = 1
while (i != nr):
i += 1
for sl in vector1:
for x in sl:
vector2[x % pow(baza, i) // pow(baza, i - 1)].append(x)
vector1 = vector2
vector2 = [[] for i in range(10)]
v_final = []
for sl in vector1:
v_final.extend(sl)
return v_final
else:
return 0
f0=open('radixsort.in')
f1=open('radixsort.out','w')
input=f0.readline().split()
v=[]
for i in range (1,int(input[0])+1):
if (i==1):
v.append(int(input[2]))
else:
v.append( (int(input[1])*v[i-2]+int(input[2]))%(int(input[3])) )
print(v)
v=radix_sort(v)
for i in range (0,len(v),10):
f1.write(str(v[i]))
f1.write(" ")