ホームページ >Java >&#&チュートリアル >Javaを使用してヒルソートアルゴリズムを実装する方法
Java を使用してヒル ソート アルゴリズムを実装する方法
ヒル ソートは、配列を複数のサブシーケンスに分割することで効率を向上させる、改良された挿入ソート アルゴリズムです。この記事では、Java 言語を使用して Hill ソート アルゴリズムを実装する方法を紹介し、具体的なコード例を添付します。
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
メソッドを使用して、ソートされた配列を出力します。 コードを実行すると、コンソールに次の結果が出力されます。
排序前数组: 9 8 3 7 5 6 4 2 1 排序后数组: 1 2 3 4 5 6 7 8 9
上記のコード例を通して、ヒル ソート アルゴリズムの実行プロセスを明確に見ることができます。サブシーケンス間の間隔を継続的に短縮することにより、ソートの効率が向上し、配列をより速くソートできるようになります。
概要
この記事では、Java を使用して Hill ソート アルゴリズムを実装する方法を紹介します。ヒル ソートは、配列を複数のサブシーケンスに分割し、各サブシーケンスに対して挿入ソートを実行することにより、ソート効率を向上させます。 Hill ソート アルゴリズムの原理と対応するコード実装を理解することで、アルゴリズムをより深く理解し、実際のソート問題に柔軟に適用できるようになります。
以上がJavaを使用してヒルソートアルゴリズムを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。