Le tri par insertion directe consiste à insérer des éléments à trier un par un dans la séquence ordonnée précédemment triée jusqu'à ce que tous les éléments aient été insérés. Les principales étapes sont les suivantes :
1) Supposons d’abord que le premier élément a été trié.
2) Retirez ensuite l'élément suivant qui doit encore être trié, c'est-à-dire l'élément suivant après l'élément trié, retirez l'élément suivant, définissez-le comme élément à insérer et numérisez d'arrière en avant dans l'élément trié. séquence d'éléments. Si l'élément (trié) est plus grand que l'élément à insérer, déplacez l'élément à la position suivante.
3) Répétez l'étape 2 jusqu'à ce que vous trouviez une position où l'élément trié est inférieur ou égal à l'élément à trier, et insérez l'élément.
4) Répétez les étapes 2 et 3 pour terminer le tri.
Par exemple:
importjava.util.Arrays;publicclassMain{publicstaticvoidmain(Stringargs[]){int[]arr=newint[]{17,62,39,52,8,24};for(inti=1;i<arr.length;i++ ){//Comparez à partir du deuxième élément inttemp=arr[i];//Enregistrez l'élément actuel pour(i ntj=i-1;j>=0;j--){//Comparez à partir du dernier élément if(arr[j]>temp){//S'il est plus grand que l'élément actuel arr[j+1] =arr[ j];//Déplacer tous les éléments d'ici vers l'avant d'une position arr[j]=temp;//Insérer l'élément actuel dans arr[j]}}}for(inti=0;i<arr.length;i++){System.out.print(arr[i]+ }); }}
Les résultats en cours d'exécution sont les suivants :
81724395262