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:pbvà(40i2+Dedm3;s7= 1jo5w_lSênatf-)9Oh]R6qcrg,.[éyPku8/050o0n0H0G0j0C0s0v0S0C0G0s0s0u010H0j0c010406050s0$0p0p0G0T0Z040D0y0C0$0|0y0F0v020G0p0c0r0v0P0n160T0R0$0n0s050(13151719110c041x1E051H0(1H1J1E110o0j0e0;0?0^0`0N0j0U0N0C1X0N0H0 050,0d0C0n1S0@0_011W1Y1!1Y0H1*1,1(0H0d0y0o191)0T1F0H0N0;1c0s0c0G0F0`0k011.1U010I0.0n0F1k0n1(292b2g1:2j1,2m0p2o040a0v0!0T0y0c0y0s0j1f1h0*270T0T0n0S2J1x2q0F1F0(252V0H2322240o2s0`1!0F2l2G1(1P1R0=1/2)0j2+0F1 1Q1(0c2O1F2T2V30122a1h2;2h2_0T160C0 0v0w2S3410332r361:383a3c0k3f2b3h2T2(013m0G3b040v0q3q2U113t3k0`3w3y0v0h3C3s343u3I3c0z3M3E3O3G3v0y393x3c0Q3T3i351T3l3Y3n3z0t3%3F3*3H3,3!3z0%3:3V3=3X3Z3J0L3{3j3}3Q040w0i423)2=3~3-0w3e1y3g3U434b450w3p4g3r4i4a373@3y0w3B4o3D3(3P4t0 0w3L4x3N4j4s3 4C3S4F4q4A4J463$4M4z3W4l3/4F1G2~1x2/2Y0o2$3u0S1 2y0)1Q1F2}0n2 3g3M054*0*4=4H1:0#0 0*0I4@3;4b0A3c523|4k0I0 2F2H2J0B0p2@0j0p14574|0`0~040g5l4r3l0 1`0n0G0$5r3u5o0V3M0v4T440 0j5z3W5o0K0b3T0v5P5E532h0s2e04012O0S0N0n0T5Z1-0+0v2O0F0e0y0j1-0C002@1P0S1-0o0$0v5g0F5i140v0f0v2a0T0|0T0v2L5;5?0j5^0v0j015O5Q5F4k5H0F0o5f5h5D6j2h0y0 0u6q5S5t045I4M5Q5R582h4~040I3Y6w6E6y0x6K5m010y556z0F6O5s3H0d0 0T2b0U0n5J3}5o5q4X6x3H5H6V3u6t040l6:3W5g4C6(4b5B6^446Y042v6|2h6*746y5v5x775n0 0K5M6h6C5P6r4}5H514F6D6P0F5u0G1+5w5y6,6L7c040X7b3v0 6N7w6P5o0O6 4b6=020C0H0r7J377r7t7a7F6W015o7A7V3P6l6n5}6A326-7X0 0O5N6B7h7;7j6.6T7%6p7n7?6Q6u7Q6M7g7o7W6G2O0H0$0T6U7{7+7q7^6o5~3T064N3W6G507B6S5E7!4U5a042P0N6#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|8k0n7m923}8n8 8r2Z0j0B0s0n1,2Q0j1g8.8A9u9a8^7T9d3r7|8W819B0 6I0T958D8O3r9o3}6R6l9,0F716!0F6$9T8 71739j758z9h9X9c8.7e8X4h7;7i8b7$6c0n8e5 0p9,979@5b2G2I9R0Fah5jaja11:76av7@8%ay7,049m9/8#6/aB5L818!ad8s5Z8v9}aB8$8_9raI8Jam7^afas5kaVaDaX9.2U9#7d3%0(4_4;4Ya:0(4#1x0H4%a^2!2W1~202YaT2V4#1D4{7W2O0p0B0I0G0#ag0N0q0 1p1r1t1v0va99!1K3h1E0M1h0c0n1e0v0Y0S0T0j2O0v1,272L2l0v0$1h9N0$0C0v0sby0}0H0W060m1-0c1d0s0V6ebM130I2j0HbZ0C3Y0:5`63174*87b-5:0GbC0j0s0H1-629K5#bZ2L0s00170T0Eb|67625;0G0e2b0H685#5~5#bw0C0Y2x0Fcf2L5^1_5:b`b|0W1G3h2/3u1=1Z1#1%4/4Z324Xa/b53u9C9E9V3u9HaR9Jbz9M9O2P2Ra$9U9!aMaA9F9k047f7:ac8C6G9*a(ak6S2@9@9_aPcY9~0 a0c%a25pa4c$cO93c)ak0 0J9,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.