Cara melaksanakan algoritma isihan Hill menggunakan Java
Isihan bukit ialah algoritma isihan sisipan yang dipertingkatkan yang meningkatkan kecekapan dengan membahagikan tatasusunan kepada berbilang jujukan. Artikel ini akan memperkenalkan cara melaksanakan algoritma pengisihan Hill menggunakan bahasa Java dan melampirkan contoh kod tertentu.
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
untuk mencetak tatasusunan yang diisih. Jalankan kod, konsol akan mengeluarkan keputusan berikut:
排序前数组: 9 8 3 7 5 6 4 2 1 排序后数组: 1 2 3 4 5 6 7 8 9
Melalui contoh kod di atas, kita dapat melihat dengan jelas proses pelaksanaan algoritma pengisihan Hill. Dengan terus mengurangkan selang antara urutan, kecekapan pengisihan boleh dipertingkatkan, membolehkan tatasusunan diisih dengan lebih cepat.
Ringkasan
Artikel ini memperkenalkan cara melaksanakan algoritma pengisihan Hill menggunakan Java. Isih bukit meningkatkan kecekapan pengisihan dengan membahagikan tatasusunan kepada berbilang jujukan dan melaksanakan isihan sisipan pada setiap jujukan. Dengan memahami prinsip algoritma pengisihan Hill dan pelaksanaan kod yang sepadan, kami dapat memahami algoritma dengan lebih baik dan dapat menerapkannya secara fleksibel pada masalah pengisihan sebenar.
Atas ialah kandungan terperinci Bagaimana untuk melaksanakan algoritma pengisihan Hill menggunakan java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!