Heim > Java > javaLernprogramm > So implementieren Sie den Hill-Sortieralgorithmus mit Java

So implementieren Sie den Hill-Sortieralgorithmus mit Java

王林
Freigeben: 2023-09-22 09:03:29
Original
890 Leute haben es durchsucht

So implementieren Sie den Hill-Sortieralgorithmus mit Java

So implementieren Sie den Hill-Sort-Algorithmus mit Java

Hill-Sort ist ein verbesserter Einfügungs-Sortieralgorithmus, der die Effizienz verbessert, indem er ein Array in mehrere Teilsequenzen aufteilt. In diesem Artikel wird erläutert, wie der Hill-Sortieralgorithmus mithilfe der Java-Sprache implementiert wird, und es werden spezifische Codebeispiele angehängt.

  1. Algorithmusprinzip
    Die Grundidee der Hill-Sortierung besteht darin, das zu sortierende Array in mehrere Teilsequenzen zu unterteilen, jede Teilsequenz zu sortieren, dann das Intervall der Teilsequenzen schrittweise zu verringern und mit der Sortierung fortzufahren, bis das gesamte Array zu einem wird Sequenz.
  2. Java-Implementierung
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();
    }
}
Nach dem Login kopieren
  1. Test
    Im obigen Code definieren wir zunächst eine shellSort 方法,用于实现希尔排序。然后在 main 方法中,我们创建了一个待排序的数组 arr,并调用 shellSort 方法对其进行排序。最后,我们使用 printArray-Methode zum Drucken des sortierten Arrays.

Führen Sie den Code aus. Die Konsole gibt die folgenden Ergebnisse aus:

排序前数组:
9 8 3 7 5 6 4 2 1 
排序后数组:
1 2 3 4 5 6 7 8 9
Nach dem Login kopieren

Durch das obige Codebeispiel können wir den Ausführungsprozess des Hill-Sortieralgorithmus deutlich sehen. Durch kontinuierliches Reduzieren des Intervalls zwischen Teilsequenzen kann die Sortiereffizienz verbessert werden, sodass das Array schneller sortiert werden kann.

Zusammenfassung
Dieser Artikel stellt vor, wie man den Hill-Sortieralgorithmus mit Java implementiert. Die Hill-Sortierung verbessert die Sortiereffizienz, indem sie das Array in mehrere Teilsequenzen unterteilt und für jede Teilsequenz eine Einfügungssortierung durchführt. Durch das Verständnis der Prinzipien des Hill-Sortieralgorithmus und der entsprechenden Code-Implementierung können wir den Algorithmus besser verstehen und ihn flexibel auf tatsächliche Sortierprobleme anwenden.

Das obige ist der detaillierte Inhalt vonSo implementieren Sie den Hill-Sortieralgorithmus mit Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage