Heim >Java >javaLernprogramm >Detaillierte Erläuterung häufig verwendeter Sortieralgorithmen und Implementierungsmethoden in Java

Detaillierte Erläuterung häufig verwendeter Sortieralgorithmen und Implementierungsmethoden in Java

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBnach vorne
2023-04-22 20:40:061598Durchsuche

1. Auswahlsortierung

Auswahlsortierung ist ein einfacher und intuitiver Sortieralgorithmus, unabhängig davon, welche Daten eingegeben werden, die Zeitkomplexität ist O(n²). Bei der Verwendung gilt also: Je kleiner die Datengröße, desto besser. Der einzige Vorteil besteht möglicherweise darin, dass kein zusätzlicher Speicherplatz belegt wird Startposition der sortierten Reihenfolge.

Suchen Sie dann weiterhin das kleinste (größte) Element aus den verbleibenden unsortierten Elementen und platzieren Sie es am Ende der sortierten Sequenz. Detaillierte Erläuterung häufig verwendeter Sortieralgorithmen und Implementierungsmethoden in Java

Wiederholen Sie den zweiten Schritt, bis alle Elemente sortiert sind.

public static void selectSort(int[] arr) {
        //选择排序
        if(arr == null || arr.length < 2) {
            return;
        }
        int n = arr.length;
        for (int i = 0; i < n; i++) {
            int minValueIndex = i;
            for (int j = i+1; j < n; j++) {
                minValueIndex = arr[j] < arr[minValueIndex] ? j : minValueIndex;
            }
            swap(arr,i,minValueIndex);
        }
    }
    public static void swap(int[] arr,int i,int j) {
        int tmp = arr[i];
        arr[i] = arr[j];
        arr[j] = tmp;
    }
    public static void printArray(int[] arr) {
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i]+" ");
        }
        System.out.println();
    }
    public static void main(String[] args) {
        int[] arr = {7,5,1,9,4,2,6};
        printArray(arr);
        selectSort(arr);
        printArray(arr);
    }

2. Blasensortierung

**Das Prinzip des Blasensortierungsalgorithmus ist wie folgt: **#🎜🎜 # Detaillierte Erläuterung häufig verwendeter Sortieralgorithmen und Implementierungsmethoden in Java1. Vergleichen Sie benachbarte Elemente. Wenn das erste größer als das zweite ist, tauschen Sie beide aus.

2. Machen Sie dasselbe für jedes Paar benachbarter Elemente, beginnend mit dem ersten Paar am Anfang und endend mit dem letzten Paar am Ende. Zu diesem Zeitpunkt sollte das letzte Element die größte Zahl sein.

3. Wiederholen Sie die obigen Schritte für alle Elemente außer dem letzten.

4. Wiederholen Sie die obigen Schritte jedes Mal für immer weniger Elemente, bis keine Zahlenpaare mehr zum Vergleichen vorhanden sind.

public static void bubbleSort(int[] arr) {
        if(arr == null || arr.length < 2) {
            return;
        }
        int n = arr.length;
        for (int i = n-1; i >= 0; i--) {
            for (int j = 0; j < i; j++) {
                if(arr[j] > arr[j+1]) {
                    swap(arr,j,j+1);
                }
            }
        }
    }
     public static void swap(int[] arr,int i,int j) {
        int tmp = arr[i];
        arr[i] = arr[j];
        arr[j] = tmp;
    }
    public static void main(String[] args) {
        int[] arr = {14,6,3,10,2};
        printArray(arr);
        bubbleSort(arr);
        printArray(arr);
    }

3. Einfügungssortierung

Einfügungssortierung bedeutet, dass in den zu sortierenden Elementen, vorausgesetzt, dass die vorherigen n- 1 (Davon sind n>=2) Zahlen sind bereits in der richtigen Reihenfolge. Fügen Sie nun die n-te Zahl in die zuvor angeordnete Reihenfolge ein und finden Sie dann eine geeignete Position für sich selbst, sodass die Reihenfolge der n-ten Zahl vorliegt eingefügt ist auch sequentiell. Der Vorgang des Einfügens aller Elemente nach dieser Methode, bis die gesamte Sequenz in Ordnung ist, wird als Einfügesortierung bezeichnet.

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung häufig verwendeter Sortieralgorithmen und Implementierungsmethoden in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen