[JAVA] Tri de coquille

mérite

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)

Recommended Posts

Tri de coquille
tri shell java