diff --git a/Tp09/merge_sort.py b/Tp09/merge_sort.py index 5d4d79d6bc50989b31d455964bd863de5932bf32..b3aa8c616dde302e2285d5f302ea139650051798 100755 --- a/Tp09/merge_sort.py +++ b/Tp09/merge_sort.py @@ -252,7 +252,13 @@ def mergesort(l: ApLst, comp: Callable[[T, T], int]=compare) -> ApLst: $$$ is_sorted(l1) True """ - ... + if l.is_empty() or l.tail().is_empty(): + return l + else: + l1, l2 = split(l) + sorted_l1 = mergesort(l1, comp) + sorted_l2 = mergesort(l2, comp) + return merge(sorted_l1, sorted_l2, comp) if (__name__ == '__main__'):