Heim  >  Artikel  >  Java  >  So implementieren Sie den Einfügungssortierungsalgorithmus mit Java

So implementieren Sie den Einfügungssortierungsalgorithmus mit Java

PHPz
PHPzOriginal
2023-09-19 08:28:421219Durchsuche

So implementieren Sie den Einfügungssortierungsalgorithmus mit Java

So implementieren Sie den Einfügungssortierungsalgorithmus mit Java

Einfügungssortierung ist ein einfacher, aber effektiver Sortieralgorithmus, der auf der Idee des Vergleichs und Austauschs von Elementen basiert. In diesem Artikel erfahren Sie, wie Sie eine Implementierung des Einfügungssortierungsalgorithmus in Java schreiben und stellen konkrete Codebeispiele bereit.

Die Grundidee der Einfügesortierung besteht darin, das Array in sortierte und unsortierte Teile zu unterteilen. Zuerst behandeln wir das erste Element als sortierten Teil und fügen dann die Elemente des unsortierten Teils der Reihe nach an der richtigen Position des sortierten Teils ein. Um die richtige Einfügeposition zu finden, müssen wir das aktuelle Element nacheinander mit den Elementen des sortierten Teils vergleichen und die Elemente des sortierten Teils schrittweise nach hinten verschieben, bis wir eine geeignete Einfügeposition finden. Durch Wiederholen dieses Vorgangs wird das gesamte Array endgültig sortiert.

Hier ist der Beispielcode zum Implementieren des Einfügungssortierungsalgorithmus mit Java:

public class InsertionSort {

    public static void insertionSort(int[] arr) {
        int n = arr.length;
        for (int i = 1; i < n; i++) { // 从第二个元素开始,依次将元素插入到已排序部分的正确位置
            int key = arr[i];
            int j = i - 1;
            while (j >= 0 && arr[j] > key) {
                arr[j + 1] = arr[j]; // 向后移动已排序部分的元素
                j--;
            }
            arr[j + 1] = key; // 插入元素到正确位置
        }
    }

    public static void main(String[] args) {
        int[] arr = {5, 2, 8, 3, 1};
        System.out.println("原始数组:");
        for (int num : arr) {
            System.out.print(num + " ");
        }
        System.out.println();

        insertionSort(arr);

        System.out.println("排序后的数组:");
        for (int num : arr) {
            System.out.print(num + " ");
        }
        System.out.println();
    }
}

In diesem Beispiel haben wir eine Methode namens insertionSort的静态方法,它接受一个整数数组作为参数。我们使用一个循环遍历未排序部分的元素,并将其插入到已排序部分的正确位置。内部的while循环用于向后移动已排序部分的元素,直到找到正确的插入位置。最后,我们在main方法中创建一个示例数组,并调用insertionSort zum Sortieren definiert. Abschließend geben wir das sortierte Array an die Konsole aus.

Durch Ausführen des obigen Codes können wir die folgende Ausgabe erhalten:

原始数组:
5 2 8 3 1
排序后的数组:
1 2 3 5 8

Wie Sie sehen können, hat der Einfügungssortierungsalgorithmus das ursprüngliche Array erfolgreich sortiert.

Zusammenfassung:
Dieser Artikel stellt vor, wie man die Implementierung des Einfügungssortierungsalgorithmus in Java schreibt, und stellt spezifische Codebeispiele bereit. Einfügungssortierung ist ein einfacher, aber effektiver Sortieralgorithmus, der die Sortierung erreicht, indem er das Array in sortierte und unsortierte Teile unterteilt und Elemente einzeln vergleicht und verschiebt. Durch das Verständnis der Idee und Codeimplementierung des Einfügungssortieralgorithmus können wir diesen Sortieralgorithmus flexibel in tatsächlichen Programmierprojekten anwenden.

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

Stellungnahme:
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