# coding=utf-8 def merge(l1,l2): if l1==[]: return l2 elif l2==[]: return l1 elif l1[0]<l2[0]: return [l1[0]]+merge(l1[1:],l2) else: return [l2[0]]+merge(l1,l2[1:]) def m_sort(l): if len(l)<=1: return l # posortowana else: #len(l) >= 2 l1=l[:len(l)/2] #pierwsza poĂ âĂÂłwka l2=l[len(l)/2:] # druga poĂ âĂÂłwka return merge(m_sort(l1),m_sort(l2))