La vitesse de traitement est rapide
ShellSort.java
class ShellSort{
public static void main(Srring[] args){
//Tableau avant le tri
int a[] = {10,4,2,1,3,8,5,6,};
//Répétez la réduction de moitié de l'intervalle de regroupement
for(int step = a.length / 2 ; step > 0; sttep /= 2){
//Insérer un tri à intervalles
//Récupération répétée des "valeurs à insérer" une par une dans le tableau
for(int i = step; i < a.length ; i++){
//Enregistrer la valeur à insérer dans une variable
int tmp = a[i];
//Répétez la comparaison de la position supprimée vers l'avant
int j = i ;
for (j = i ; j >= step; j -= step){
//Si la valeur à insérer est petite, décalez cette valeur vers l'arrière de la largeur du pas.
a[j] = a[j-step];
} else {
//Si la valeur à insérer n'est pas petite, arrêtez le processus de décalage à cet endroit
break;
}
}
//Insérez la "valeur à insérer" à la fin du processus de travail
a[j] = tmp;
}
}
//Affichage du tableau trié
for (int i:a){
System.out.println(i);
}
}
}
Livre de référence [Algorithme d'apprentissage agréable et livre illustré de programmation](https://www.amazon.co.jp/%E6%A5%BD%E3%81%97%E3%81%8F%E5%AD%A6%E3%81] % B6-% E3% 82% A2% E3% 83% AB% E3% 82% B4% E3% 83% AA% E3% 82% BA% E3% 83% A0% E3% 81% A8% E3% 83% 97% E3% 83% AD% E3% 82% B0% E3% 83% A9% E3% 83% 9F% E3% 83% B3% E3% 82% B0% E3% 81% AE% E5% 9B% B3% E9% 91% 91-% E6% A3% AE-% E5% B7% A7% E5% B0% 9A-ebook / dp / B01N56TW48)