Sortieren ein Array in Java ohne Verwendung der Methode sort()
-
Sortieren ein Array in Java ohne die Methode
sort()
zu verwenden - Bubble Sort -
Sortieren ein Array in Java ohne die Methode
sort()
zu verwenden - Selection Sort -
Sortieren ein Array in Java ohne die Methode
sort()
zu verwenden - Insertion 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.
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.
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.
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.
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.
LinkedInVerwandter Artikel - Java Sort
- Schnellster Sortieralgorithmus Java
- Erstellen einer geordneten Map in Java
- Komparator in Java sortieren