Tri par sélection

Écrire une fonction tri_selection qui prend en paramètre un tableau tableau de nombres entiers et qui trie ce tableau en place (c'est-à-dire que le tableau est modifié) par ordre croissant des valeurs.

On utilisera l'algorithme suivant :

  • On parcourt le tableau de gauche à droite :
    • on recherche le minimum du tableau entre cette position courante et la fin du tableau
    • on échange alors les 2 valeurs
Exemples
>>> tab = [1, 52, 6, -9, 12]
>>> tri_selection(tab)
>>> tab
[-9, 1, 6, 12, 52]
>>> tab_vide = []
>>> tri_selection(tab_vide)
>>> tab_vide
[]
>>> singleton = [9]
>>> tri_selection(singleton)
>>> singleton
[9]
###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Entrer ou sortir du mode "deux colonnes"
(Alt+: ; Ctrl pour inverser les colonnes)
Entrer ou sortir du mode "plein écran"
(Esc)
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
Évaluations restantes : 10/10
.128013,[snaRcPmy7)f]ê4O_wu2Dq9l3 j(6ev0-8;éb+okp/ihSg1t:à5=.dr050%0F0X0f0S0z0d0B0h0z0f0d0d0#010X0S0Q010406050d0u0j0j0f0(0k040U0O0z0u0|0O0e0B020f0j0Q0K0B0g0F160(0x0u0F0d050R13151719110Q041x1E051H0R1H1J1E110%0S0G0;0?0^0`0T0S0V0T0z1X0T0X0 050,0M0z0F1S0@0_011W1Y1!1Y0X1*1,1(0X0M0O0%191)0(1F0X0T0;1c0d0Q0f0e0`0v011.1U010n0.0F0e1k0F1(292b2g1:2j1,2m0j2o040a0B0i0(0O0Q0O0d0S1f1h0*270(0(0F0h2J1x2q0e1F0R252V0X2322240%2s0`1!0e2l2G1(1P1R0=1/2)0S2+0e1 1Q1(0Q2O1F2T2V30122a1h2;2h2_0(160z0 0B0W2S3410332r361:383a3c0v3f2b3h2T2(013m0f3b040B0A3q2U113t3k0`3w3y0B0q3C3s343u3I3c0!3M3E3O3G3v0O393x3c0E3T3i351T3l3Y3n3z0l3%3F3*3H3,3!3z0J3:3V3=3X3Z3J0y3{3j3}3Q040W0H423)2=3~3-0W3e1y3g3U434b450W3p4g3r4i4a373@3y0W3B4o3D3(3P4t0 0W3L4x3N4j4s3 4C3S4F4q4A4J463$4M4z3W4l3/4F1G2~1x2/2Y0%2$3u0h1 2y0)1Q1F2}0F2 3g3M054*0*4=4H1:0P0 0*0n4@3;4b0t3c523|4k0n0 2F2H2J0s0j2@0S0j14574|0`0~040D5l4r3l0 1`0F0f0u5r3u5o0b3M0B4T440 0S5z3W5o0m0Y3T0B5P5E532h0d2e04012O0h0T0F0(5Z1-0+0B2O0e0G0O0S1-0z002@1P0h1-0%0u0B5g0e5i140B0Z0B2a0(0|0(0B2L5;5?0S5^0B0S015O5Q5F4k5H0e0%5f5h5D6j2h0O0 0#6q5S5t045I4M5Q5R582h4~040n3Y6w6E6y0C6K5m010O556z0e6O5s3H0M0 0(2b0V0F5J3}5o5q4X6x3H5H6V3u6t040N6:3W5g4C6(4b5B6^446Y042v6|2h6*746y5v5x775n0 0m5M6h6C5P6r4}5H514F6D6P0e5u0f1+5w5y6,6L7c040c7b3v0 6N7w6P5o0o6 4b6=020z0X0K7J377r7t7a7F6W015o7A7V3P6l6n5}6A326-7X0 0o5N6B7h7;7j6.6T7%6p7n7?6Q6u7Q6M7g7o7W6G2O0X0u0(6U7{7+7q7^6o5~3T064N3W6G507B6S5E7!4U5a042P0T6#6%8p6)0 6+7*7x7C04797v8B7G0 5C8a8C8c7)4?7+6~8L7p7D7B5L7/30066C7|8c8F8V0 7Z8H7W8N8(040o8K30827#8E7s1,7U8+5A8)7B8c7E8|5K7-7 0`6=6v8S8,7S8`8G8P8C7Y8 8U8x6}7-8;3g8?4U9b7u8.8*9e8T6z8.7I4M8h7|8k0F7m923}8n8 8r2Z0S0s0d0F1,2Q0S1g8.8A9u9a8^7T9d3r7|8W819B0 6I0(958D8O3r9o3}6R6l9,0e716!0e6$9T8 71739j758z9h9X9c8.7e8X4h7;7i8b7$6c0F8e5 0j9,979@5b2G2I9R0eah5jaja11:76av7@8%ay7,049m9/8#6/aB5L818!ad8s5Z8v9}aB8$8_9raI8Jam7^afas5kaVaDaX9.2U9#7d3%0R4_4;4Ya:0R4#1x0X4%a^2!2W1~202YaT2V4#1D4{7W2O0j0s0n0f0Pag0T0A0 1p1r1t1v0Ba99!1K3h1E0r1h0Q0F1e0B0L0h0(0S2O0B1,272L2l0B0u1h9N0u0z0B0dby0}0X0$060w1-0Q1d0d0b6ebM130n2j0XbZ0z3Y0:5`63174*87b-5:0fbC0S0d0X1-629K5#bZ2L0d00170(0pb|67625;0f0G2b0X685#5~5#bw0z0L2x0ecf2L5^1_5:b`b|0$1G3h2/3u1=1Z1#1%4/4Z324Xa/b53u9C9E9V3u9HaR9Jbz9M9O2P2Ra$9U9!aMaA9F9k047f7:ac8C6G9*a(ak6S2@9@9_aPcY9~0 a0c%a25pa4c$cO93c)ak0 0I9,6`46a7bm3Dab9:6k6zahd604988=aG9wc+7h9(6H6J998@919n7|9=6Tc@6Zc_c~awa3aRaHdn7+6=6@dv6_6fdba$aE2Udg379 2laQdFazaT8{d38yc)c*8YdfaLc-7laXd2c!9f8~dI04dxd?8I8/dk7M7Od;d$9Za*8Qd^d!9-dja$7.aKd-c,9v9L7(dkdmdyaMd{deabdod=e5d@7za4a)cKd48:e29Y9seveae87HejeAa6a$9td|9Weh7`eF9leIaUeQeud_ewa+d~4Sa.4+2V4:b24.11a?0+0-0/04.