Sortieren ein Array in Java ohne Verwendung der Methode sort()

Haider Ali 12 Oktober 2023
  1. Sortieren ein Array in Java ohne die Methode sort() zu verwenden - Bubble Sort
  2. Sortieren ein Array in Java ohne die Methode sort() zu verwenden - Selection Sort
  3. Sortieren ein Array in Java ohne die Methode sort() zu verwenden - Insertion Sort
Sortieren ein Array in Java ohne Verwendung der Methode sort()

In dieser Anleitung lernen wir, ein Array in Java zu sortieren, ohne die Methode sort() zu verwenden. Es gibt im Allgemeinen drei Möglichkeiten, ein Array zu sortieren. Diese drei Algorithmen sind beim Sortieren jedes Arrays sehr effizient. Lassen Sie uns mehr über diese Algorithmen erfahren.

Sortieren ein Array in Java ohne die Methode sort() zu verwenden - Bubble Sort

Lassen Sie uns das Konzept von Bubble-Sort verstehen, dem einfachsten Sortieralgorithmus. Grundsätzlich vertauschen Sie bei diesem Algorithmus wiederholt die benachbarten Elemente im Array. Wenn sie in der falschen Reihenfolge sind, vertauscht der Algorithmus die beiden Elemente. Schauen Sie sich die Präsentation an.

Sortieren ein Array in Java ohne die Methode sort() zu verwenden - Bubble Sort

Wenn Sie sich das obige Bild ansehen, können Sie die Vertauschung der beiden benachbarten Elemente sehen. Am Ende haben wir das sortierte Array. Wenn es Unklarheiten gibt, sehen Sie sich den Code dieses Bubble-Sort-Algorithmus an.

public class Main {
  public static void main(String[] args) {
    int[] arr = new int[] {5, 4, 3, 8, 32, 768, 564, 95, 172, 1500, 859, 754};
    // Example Array To sort...
    for (int i = 0; i < arr.length; i++) { // Loop over java Array  outer Loop use
      for (int j = i + 1; j < arr.length; j++) { // Loop over java array
        int tmp = 0; // tempraory variable in order to compare.
        if (arr[i] > arr[j]) { // compare outer loop object with inner loop
          tmp = arr[i]; // if greater than swapping.
          arr[i] = arr[j]; // Swaping code here.
          arr[j] = tmp;
        }
      }
    }
    // After Sorting Printing The Value.............

    for (int i = 0; i < arr.length; i++) {
      System.out.println(arr[i]);
    }
  }
}

Ausgabe:

3
4
5
8
32
95
172
564
754
768
859
1500

Die äußere Schleife dient nur zum Durchlaufen des Arrays, während die innere Schleife die benachbarten ungeordneten Elemente bei jedem Durchlauf vertauscht. Am Ende des letzten Durchgangs bleibt uns das sortierte Array.

Sortieren ein Array in Java ohne die Methode sort() zu verwenden - Selection Sort

Der Auswahlsortieralgorithmus arbeitet, indem er nach dem kleinsten Element in einem Array sucht und es an den Anfang des Arrays setzt. Bei jedem Durchgang finden wir das nächstkleinere Element und platzieren es als nächstes. Schließlich erhalten wir ein Array mit zwei Unterarrays. Ein Unter-Array ist ein sortiertes Array, das sich am Anfang des Arrays befindet. Das andere Unterarray ist ein unsortiertes.

In jedem Durchgang bewegen wir uns in aufsteigender Reihenfolge. Wenn wir zuerst das größte Element finden würden, würden wir es in absteigender Reihenfolge verschieben. Schauen Sie sich die Abbildung unten an.

Sortieren ein Array in Java ohne die Methode sort() zu verwenden - Selection Sort

In der obigen Abbildung ist die Bewegung in absteigender Reihenfolge, und wir finden die größten Elemente zuerst und platzieren sie am Ende. Die Präsentation zeigt das Array in zwei Unterarrays unterteilt, wie oben erläutert.

public class Main {
  public static void main(String[] args) {
    int[] arr1 = new int[] {5, 4, 3, 8, 32, 768, 564, 95, 172, 1500, 859, 754};
    int small = -1; // at start there is no small  number....
    for (int i = 0; i < arr1.length; i++) {
      small = i;
      for (int j = i; j <= arr1.length - 1; j++) {
        if (arr1[j] < arr1[small]) {
          small = j;
        }
        // swap values
      }
      int temp = arr1[i];
      arr1[i] = arr1[small];
      arr1[small] = temp;
    }

    for (int i = 0; i < arr1.length; i++) {
      System.out.println(arr1[i]);
    }
  }
}

Im obigen Codebeispiel funktioniert die äußere Schleife wie das Übergeben des Arrays. Die inneren Schleifen tauschen das kleinste Element mit dem Element auf dem aktuellen Index aus.

Sortieren ein Array in Java ohne die Methode sort() zu verwenden - Insertion Sort

Insertion Sort ist ein weiterer einfacher Sortieralgorithmus, mit dem wir ein Array sortieren können. Auch bei diesem Algorithmus wird das gegebene Array in zwei Unterarrays unterteilt. Im Gegensatz zur Auswahlsortierung wird das Element jedoch aus dem unsortierten Unterarray ausgewählt und an der richtigen Position platziert. Schauen Sie sich die Bilderklärung unten an.

Sortieren ein Array in Java ohne die Methode sort() zu verwenden - Insertion Sort

Wie Sie sehen, wechselt es nicht zwischen den benachbarten Elementen. Es ist einfach das kleinste Element zu finden und an der richtigen Position zu platzieren. Wir iterieren ab dem 1. Element und bewegen uns zum Ende. Das Element wird mit seinem Vorgänger verglichen und dann mit dem Element daneben, bis es seinen richtigen Platz gefunden hat. Im mitgelieferten Beispiel sehen Sie, dass 2 viermal verglichen wird, bevor es an der richtigen Stelle platziert wurde. Hier ist das Codebeispiel.

public class Main {
  public static void main(String[] args) { // Insertion Sort....
    int[] arr2 = new int[] {5, 4, 3, 8, 32, 768, 564, 95, 172, 1500, 859, 754};
    int number = arr2.length;
    for (int a = 1; a < number; a++) {
      int keyValue = arr2[a];
      int b = a - 1;
      while (b >= 0 && arr2[b] > keyValue) {
        arr2[b + 1] = arr2[b];
        b = b - 1;
      }
      arr2[b + 1] = keyValue;
    }
    // printing inserion sort............................
    for (int i = 0; i < arr2.length; i++) {
      System.out.println(arr2[i]);
    }
  }
}

Dies sind die drei Methoden, mit denen Sie ein Array in Java sortieren können, ohne die Sortierfunktion zu verwenden.

Autor: Haider Ali
Haider Ali avatar Haider Ali avatar

Haider specializes in technical writing. He has a solid background in computer science that allows him to create engaging, original, and compelling technical tutorials. In his free time, he enjoys adding new skills to his repertoire and watching Netflix.

LinkedIn

Verwandter Artikel - Java Sort

Verwandter Artikel - Java Array