Heim  >  Artikel  >  Java  >  Java schreibt einen Einfügungssortierungsalgorithmus und gibt Ergebnisse aus

Java schreibt einen Einfügungssortierungsalgorithmus und gibt Ergebnisse aus

PHPz
PHPzOriginal
2024-02-19 16:27:21914Durchsuche

Java schreibt einen Einfügungssortierungsalgorithmus und gibt Ergebnisse aus

Beispielcode und laufende Ergebnisse der Java-Implementierung der Einfügungssortierung

Einfügungssortierung ist ein einfacher und häufig verwendeter Sortieralgorithmus, der in praktischen Anwendungen weit verbreitet ist. In diesem Artikel wird erläutert, wie die Java-Sprache zum Implementieren der Einfügungssortierung verwendet wird, und es werden entsprechende Codebeispiele und Ausführungsergebnisse angegeben.

Die Grundidee der Einfügesortierung besteht darin, das zu sortierende Array in zwei Teile zu unterteilen: sortiert und unsortiert. Zunächst enthält der sortierte Teil nur ein Element, und dann werden die Elemente des unsortierten Teils an den entsprechenden Positionen eingefügt des sortierten Teils der Reihe nach, bis alle Elemente eingefügt sind.

Das Folgende ist ein Beispielcode für die Implementierung der Einfügungssortierung in 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 -= 1;
            }
            arr[j + 1] = key;
        }
    }

    public static void main(String[] args) {
        int[] arr = {5, 2, 10, 8, 3};
        System.out.println("排序前:");
        printArray(arr);
        insertionSort(arr);
        System.out.println("排序后:");
        printArray(arr);
    }

    public static void printArray(int[] arr) {
        int n = arr.length;
        for (int i = 0; i < n; i++) {
            System.out.print(arr[i] + " ");
        }
        System.out.println();
    }
}

Die Methode insertionSort im Code implementiert den Einfügungssortierungsalgorithmus. Es verwendet eine äußere Schleife, um jedes Element des unsortierten Teils zu durchlaufen und das Element an der entsprechenden Position im sortierten Teil einzufügen. Die innere Schleife sucht nach einer geeigneten Einfügeposition im sortierten Teil und verschiebt Elemente, die größer als das aktuelle Element sind, nach hinten. insertionSort方法实现了插入排序算法。它使用一个外层循环遍历未排序部分的每个元素,将元素插入到已排序部分的合适位置。内层循环则是在已排序部分中寻找合适的插入位置,将比当前元素大的元素往后移动。

main方法中,我们定义了一个整型数组arr,初始化了一组无序的元素。首先输出了排序前的数组,然后调用insertionSort

In der Methode main definieren wir ein ganzzahliges Array arr und initialisieren einen Satz ungeordneter Elemente. Zuerst wird das Array vor der Sortierung ausgegeben, dann wird die Methode insertionSort zum Sortieren aufgerufen und schließlich wird das sortierte Array ausgegeben.

Die laufenden Ergebnisse lauten wie folgt:

排序前:
5 2 10 8 3 
排序后:
2 3 5 8 10 

Sie können sehen, dass das ursprüngliche ungeordnete Array nach der Verarbeitung durch den Einfügungssortierungsalgorithmus erfolgreich von klein nach groß sortiert wurde.

Die zeitliche Komplexität der Einfügungssortierung beträgt O(n^2) und ihre Leistung ist bei der Verarbeitung kleiner Datensätze besser. Bei großen Datensätzen nimmt die Leistung der Einfügungssortierung jedoch erheblich ab und ist nicht so gut wie bei anderen effizienten Sortieralgorithmen. Daher ist es in der tatsächlichen Entwicklung erforderlich, einen geeigneten Sortieralgorithmus entsprechend der spezifischen Situation auszuwählen. 🎜

Das obige ist der detaillierte Inhalt vonJava schreibt einen Einfügungssortierungsalgorithmus und gibt Ergebnisse aus. 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