Comment implémenter l'algorithme de tri Hill à l'aide de Java
Le tri Hill est un algorithme de tri par insertion amélioré qui améliore l'efficacité en divisant un tableau en plusieurs sous-séquences. Cet article présentera comment implémenter l'algorithme de tri Hill à l'aide du langage Java et joindra des exemples de code spécifiques.
public class ShellSort { public static void shellSort(int[] arr) { int n = arr.length; // 初始化列数 int gap = n / 2; while (gap > 0) { for (int i = gap; i < n; i++) { int temp = arr[i]; int j = i; // 插入排序 while (j >= gap && arr[j - gap] > temp) { arr[j] = arr[j - gap]; j -= gap; } arr[j] = temp; } gap /= 2; } } public static void main(String[] args) { int[] arr = {9, 8, 3, 7, 5, 6, 4, 2, 1}; System.out.println("排序前数组:"); printArray(arr); shellSort(arr); System.out.println("排序后数组:"); printArray(arr); } public static void printArray(int[] arr) { for (int i : arr) { System.out.print(i + " "); } System.out.println(); } }
shellSort
方法,用于实现希尔排序。然后在 main
方法中,我们创建了一个待排序的数组 arr
,并调用 shellSort
方法对其进行排序。最后,我们使用 printArray
méthode pour imprimer le tableau trié. Exécutez le code, la console affichera les résultats suivants :
排序前数组: 9 8 3 7 5 6 4 2 1 排序后数组: 1 2 3 4 5 6 7 8 9
Grâce à l'exemple de code ci-dessus, nous pouvons clairement voir le processus d'exécution de l'algorithme de tri Hill. En réduisant continuellement l'intervalle entre les sous-séquences, l'efficacité du tri peut être améliorée, permettant ainsi au tableau d'être trié plus rapidement.
Résumé
Cet article présente comment implémenter l'algorithme de tri Hill à l'aide de Java. Le tri Hill améliore l'efficacité du tri en divisant le tableau en plusieurs sous-séquences et en effectuant un tri par insertion sur chaque sous-séquence. En comprenant les principes de l'algorithme de tri Hill et l'implémentation du code correspondant, nous pouvons mieux comprendre l'algorithme et être en mesure de l'appliquer de manière flexible à des problèmes de tri réels.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!