Pagini recente » Cod sursa (job #3223330) | Cod sursa (job #3200845) | Cod sursa (job #2647306) | Cod sursa (job #3182287) | Cod sursa (job #2537089)
f = open('algsort.in', 'r')
g = open('algsort.out', 'w')
n = [int(x) for x in f.readline().split()]
a = [int(x) for x in f.readline().split()]
def merge_sort(v : list):
if len(v) == 1:
return v
mid = len(v) // 2
l = merge_sort(v[:mid])
r = merge_sort(v[mid:])
rez = []
idx1 = idx2 = 0
while idx1 < len(l) or idx2 < len(r):
if idx2 == len(r):
rez += [l[idx1]]
idx1 += 1
elif idx1 == len(l) or r[idx2] <= l[idx1]:
rez += [r[idx2]]
idx2 += 1
else:
rez += [l[idx1]]
idx1 += 1
return rez
a = merge_sort(a)
for i in a:
g.write('{} '.format(i))
f.close()
g.close()