From d221847aaf8ce3253d7045ab0527618e15278fc7 Mon Sep 17 00:00:00 2001 From: Dariya Kinadinova <dariya.kinadinova.etu@univ-lille.fr> Date: Wed, 10 Apr 2024 11:42:13 +0200 Subject: [PATCH] mergesort --- tp9/merge_sort.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/tp9/merge_sort.py b/tp9/merge_sort.py index 4e88e30..ea1fb8f 100644 --- a/tp9/merge_sort.py +++ b/tp9/merge_sort.py @@ -214,7 +214,17 @@ def mergesort(l: ApLst, comp: Callable[[T, T], int]=compare) -> ApLst: $$$ is_sorted(l1) True """ - pass + if not l.is_empty(): + l1, l2 = split(l) + for i in range(length(l)): + a = l1.head() + l1 = l1.tail() + b = l1.head() + for k in range(length(l)-1): + if compare(a, b) != -1: + l1 = l1.tail() + l1 = ApLst(b, ApLst(a, l1)) + l1 = l1.tail() if (__name__ == '__main__'): -- GitLab