Informatique

Question

Bonjour, je dois implanter en python le tri par insertion afin d'obtenir un tri croissant puis décroissant.
je remercie d'avance la personne qui pourra m'aider. ​
Bonjour, je dois implanter en python le tri par insertion afin d'obtenir un tri croissant puis décroissant. je remercie d'avance la personne qui pourra m'aider.

1 Réponse

  • Réponse :

    Bonjour , ce que fait ton programme c'est qu'il vient regarder les cases du tableau une  à  une et , ensuite il regarde les cases précédentes déjà trier et vient replacer la case qu'il est en train de trier à sa place par rapport à celle déjà triées

    Bon explication par l'exemple

    prenons le tableau T[9,5,7,5,4,5,4,1,9,8]

    on ne va pas commencer à trier à la première case parce que trier une seule case est inutile

    donc on commence à la deuxième contenant 5 et on met la valeur 5 de coté

    maintenant on regarde celle d'avant , il n'y en a qu'une la 1ere contenant 9

    9 est plus grand que 5 donc on met 9 dans la 2eme case ou il y avait le 5 et le 5 dans la première (on a échanger les deux)

    le tableau devient : T[5,9,7,5,4,5,4,1,9,8]

    regardons à présent la 3eme case , elle contient 7, on met le 7 de coté

    on regarde les cases précédentes la 2eme contient 9 qui est plus grand que 7 donc on décale le 9 à la 3eme case,

    la 1ere contient 5 , 5<7 donc 7 se place après le 5 dans la 2eme case

    le tableau devient : T[5,7,9,5,4,5,4,1,9,8]

    on passe à la 4eme case qui contient 5 , on le met de coté

    on regarde le contenu des cases précédentes :

    la 3eme contient 9 qui est plus grand que 5 donc on décale le 9 à la 4eme case ,

    la 2eme contient 7 qui est supperieur à 5 donc on décale le 7 à la 3eme case,

    la 1ere contient 5 qui est égale à 5 donc pas strictement supperieur à 5

    on place donc le 5 dans la 2eme case

    on obtient T[5,5,7,9,4,5,4,1,9,8]

    et on répète de la même chose jusqu'à la fin du tableau pour qu'il soit complètement trié

    l'idée est bien d'avoir toujours un tableau trier jusqu'à la case que l'on observe , puis de décaler toutes les valeurs plus grandes que celle de la case observée pour la placer à l'endroit où elle doit être.

    tu trouvera le code python en pièce jointe

    pour faire le tri décroissant il n'y a qu'un seul caractère à changer dans le programme , je te laisse trouver lequel :)

    si tu as des questions n'hésites pas à les poser en commentaires

    Image en pièce jointe de la réponse FileLipoutou