def sort_array_nd(array): def insertion_sort(arr): # Implémentation d'un tri par insertion pour un tableau 1D for i in range(1, len(arr)): key = arr[i] j = i - 1 while j >= 0 and arr[j] > key: arr[j + 1] = arr[j] j -= 1 arr[j + 1] = key def sum_sort_2d(arr): # Trier un tableau 2D par la somme de ses sous-tableaux for i in range(1, len(arr)): key = arr[i] key_sum = sum(key) j = i - 1 while j >= 0 and sum(arr[j]) > key_sum: arr[j + 1] = arr[j] j -= 1 arr[j + 1] = key # Étape 1 : Trier chaque sous-tableau individuellement for sub_array in array: insertion_sort(sub_array) # Étape 2 : Trier le tableau selon la somme des sous-tableaux sum_sort_2d(array) return array # Exemple array = [[0, 3, 2], [9, 4, 5], [4, 1, 3]] sorted_array = sort_array_nd(array) print("Tableau trié :", sorted_array)