Tri par insertion
La méthode du tri par insertion repose sur un double parcours de la liste à trier :
- un parcours de gauche à droite commençant au deuxième élément avec un indice \(i\). On a la garantie que la liste jusqu'à l'indice \(i\) exclu est triée ;
- un parcours de droite à gauche du début de la liste jusqu'à l'indice \(i\) pour y insérer à la bonne place l'élément d'indice \(i\). Ce parcours utilise un indice \(j\).
La fonction tri_insertion suivante prend en paramètre un tableau de nombres tableau et le trie dans l'ordre croissant en utilisant cette méthode.
Il s'agit d'un tri en place ce qui signifie que le tableau passé en paramètre sera directement modifié. Il est inutile de le renvoyer.
Compléter la fonction pour qu'elle réponde à la spécification demandée.
Exemples
>>> tableau_0 = [9, 5, 8, 7, 6]
>>> tri_insertion(tableau_0)
>>> tableau_0
[5, 6, 7, 8, 9]
>>> tableau_1 = [2, 5, -1, 7, 0, 28]
>>> tri_insertion(tableau_1)
>>> tableau_1
[-1, 0, 2, 5, 7, 28]
>>> un_seul = [9]
>>> tri_insertion(un_seul)
>>> un_seul
[9]
🐍 Console Python
>>> tableau_vide = []
>>> tri_insertion(tableau_vide)
>>> tableau_vide
[]
Tronquer ou non le feedback dans les terminaux (sortie standard & stacktrace / relancer le code pour appliquer)
Si activé, le texte copié dans le terminal est joint sur une seule ligne avant d'être copié dans le presse-papier
.128013nb1lu=h,. P458é0S7p9_(6[àe]yvfm-k)cirwdL;/3:îqgats2Rjo050N0A0X0W0K0e0Y0k0J0e0W0Y0Y0g010X0K0t010406050Y0f0F0F0W0L0C040r0$0e0f0`0$0b0k020W0F0t0P0k0!0A140L0U0f0A0Y050Q111315170 0t041v1C051F0Q1F1H1C0 0N0K0D0/0;0?0^0h0K0V0h0e1V0h0X0}050*0c0e0A1Q0=0@011U1W1Y1W0X1(1*1$0X0c0$0N171%0L1D0X0h0/1a0Y0t0W0b0^0Z011,1S010E0,0A0b1i0A1$27292e1.2h1*2k0F2m040a0k0l0L0$0t0$0Y0K1d1f0(250L0L0A0J2H1v2o0b1D0Q232T0X2120220N2q0^1Y0b2j2E1$1N1P0:1-2%0K2)0b1}1O1$0t2M1D2R2T2~10281f2/2f2@0L140e0}0d2Q320~312p341.36380}0Z3c293e2R2$013j0W39040R3n2S0 3q3h0^3t3v0m3y3p323r3E0}0n3H3A3J3C3s0$373u0}0x3O3f331R3i3T3k040s3Y3B3#3D3%3V040o3+3Q3-3S3U3v0u3H1E2|1v2-2W0N2!3r0J1}2w0%1O1D2{0A2}3d3}460(4e3g3^0H0}0(0E3}3,2:010M0}0k4q3@4s0b0E0}2X0K0v2=0Y0A0L2P1w4f4r2f0|040w4x4k4z4C0W1)0A0W0f4S3!4s4P0I0S3O0k4,4w4N3i0}0b3H4.4y2f0$0}0g4?3Z3K0c0}2t4#3r4P4R4L3o4~3R0b4V4X4Z533R4(4+4-594l0}0E3T4}4/3D0}0K5p4^1.0$4u042=5u4T3550040L290V0A5f3^555K4s0F0K3a5N4O0}0i5B4$354;5S1.4(4*573z4-5*4@5C4:040#5W3r4`044|5(045,5X5.5t5_065+5j5q3s0}0D3u0A0f0L0v0W4F0b4H2M0L5;3R5?5^2~5{3K5c1*5e5_5k4%0}0y5!5r5z6x014P0B5i616t2f4m040M1U1*6i3^5b5/6N4s5?020V0X0P6R2f5P0}0q6Y5w5y290N6%6y661*696b6d6f4I6,016T0e6W6^6P1^4Y4!6s634P6w725v6y5:5_6n6j0}0G6^6!043b765-0^6C5%2~60615+6G5.6 6r30736v6A6P797w776B0}6D7a7s0^6k6}6p706A747z0}7B3d7b3^5?7e7H637g7i7C7k7E047G7o7q7r637A6^7K7Y7D7/7=7%7W7f5Q7h6E7-7?7M7v4M7D7P7j5|787O7F7:4{7L046.686a6c4G4I6@5 1v4h4d3~8p0Q411v0X438u2Y2U1|1~2W4W1*2T411B4j87012M0F0v0E0W0H0A0v0h0R0}1n1p1r1t0k7n4f1I3e1C0O003u0V3T2G0h2v0k0N0f0k4D0k280L0k8j4J0K1e0k1t0X0k0f1f8,8.238;3h0K8Y0k0z250b2k0T2X0A0j4w8%8H0O0W0k660L0K8D1+0K0J0K0k2@130p1+058o8e676:8i6e8k6h0Q9I920Y940Y0$0f0D2j949D0F9F4w9I0:5J9Q47040j1E3e8s0)0+0-04.
# Tests(insensible à la casse)(Ctrl+I)
(Alt+: ; Ctrl pour inverser les colonnes)
(Esc)