#Pour trier une liste on peut aussi utiliser L.sort()
def tri_fusion(L):
if len(L)<=1:
return(L)
else:
m=len(L)//2
return fusion(tri_fusion(L[0:m]),tri_fusion(L[m:]))
def fusion(L_1,L_2):
L=[]
k,l=len(L_1),len(L_2)
i,j=0,0
while i<k and j<l:
if L_1[i]<=L_2[j]:
L.append(L_1[i])
i+=1
else:
L.append(L_2[j])
j+=1
if i==k and j<l:
L=L+L_2[j:]
elif j==l and i<k:
L=L+L_1[i:]
return L
Aucun commentaire:
Enregistrer un commentaire