Heim >Java >javaLernprogramm >2D-Array-Sortierung in Java
Der folgende Artikel bietet einen Überblick über die 2D-Array-Sortierung in Java. Ein Array von Arrays kann ein zweidimensionales Array sein. Die Matrizen, aus denen das 2D-Array besteht, stellen eine Sammlung von Zeilen und Spalten dar. Da auf die Elemente von 2D-Arrays zufällig zugegriffen werden kann, können wir über ihre Indizes auf die einzelnen Zellen in einem 2D-Array zugreifen, genau wie bei eindimensionalen Arrays.
WERBUNG Beliebter Kurs in dieser Kategorie JAVA MASTERY - Spezialisierung | 78 Kursreihe | 15 ProbetestsIn einem 2D-Array hat eine Zelle zwei Indizes, einer ist ihre Zeilennummer und der andere ist ihre Spaltennummer. Sortieren ist eine Technik zum Anordnen von Elementen in einem 2D-Array in einer bestimmten Reihenfolge. Das 2D-Array kann entweder in aufsteigender oder absteigender Reihenfolge vorliegen. Sehen wir uns an, wie man das 2D-Array in Java auf unterschiedliche Weise in auf- und absteigender Reihenfolge sortiert.
Verschiedene Beispiele sind wie folgt:
Beispiel für die 2D-Array-Sortierung in Java zum Sortieren aller Elemente eines 2D-Arrays.
Code:
package jex; import java.util.*; public class demo { // using bubble sort to sort 2D array // sort 2D array same as it is in a 1D array of size n * m public static void sort(int arr[][]) { int i, j, temp; int n=arr.length; int m=arr[0].length; for (i = 0; i < n * m - 1; ++i) { for (j = 0; j < n * m - 1 - i; ++j) { if (arr[j / m][j % m] > arr[(j + 1) / m][(j + 1) % m]) { temp = arr[(j + 1) / m][(j + 1) % m]; arr[(j + 1) / m][(j + 1) % m] = arr[j / m][j % m]; arr[j / m][j % m] = temp; } } } } public static void print(int arr[][]) { int i, j; int n=arr.length; int m=arr[0].length; for (i = 0; i < n; ++i) { for (j = 0; j < m; ++j) { System.out.print(arr[i][j]+" "); } System.out.println(); } } public static void main(String[] args) { Scanner sc=new Scanner(System.in); int[][] arr={ { 5, 12, 17, 12, 23}, { 1, 2, 4, 6, 8}, {21, 14, 7, 19, 27}, { 3, 18, 9, 15, 25} }; System.out.println("Array Before Sorting is : "); print(arr); sort(arr); System.out.println("Array After Sorting is : "); print(arr); } }
Ausgabe:
Wie im obigen Programm ist die Methode sort() nützlich, um jedes Element eines 2D-Arrays zu iterieren und die Zahlen zu vertauschen, wenn das aktuelle Element größer als das nächste Element ist. Schließlich zeigt die Druckmethode alle Elemente des 2D-Arrays an. In der Hauptfunktion wird das 2D-Array nach und vor dem Aufruf der Funktion sort() erstellt und gedruckt, wie in der obigen Ausgabe gezeigt.
Beispiel für die 2D-Array-Sortierung in Java, um alle Elemente eines 2D-Arrays spaltenweise zu sortieren.
Code:
package jex; import java.util.*; public class demo { public static void sort(int arr[][]) { int i, j,k, temp; int n=arr.length; int m=arr[0].length; for (k = 0; k < m; ++k) { for (i = 0; i < n; ++i) { for (j = 0; j < n - 1 - i; ++j) { if (arr[j][k] > arr[j + 1][k]) { temp = arr[j + 1][k]; arr[j + 1][k] = arr[j][k]; arr[j][k] = temp; } } } } } public static void print(int arr[][]) { int i, j; int n=arr.length; int m=arr[0].length; for (i = 0; i < n; ++i) { for (j = 0; j < m; ++j) { System.out.print(arr[i][j]+" "); } System.out.println(); } } public static void main(String[] args) { Scanner sc=new Scanner(System.in); int[][] arr={ { 5, 12, 17, 12, 23}, { 1, 2, 4, 6, 8}, {21, 14, 7, 19, 27}, { 3, 18, 9, 15, 25} }; System.out.println("Array Before Sorting is : "); print(arr); sort(arr); System.out.println("Array After Sorting is : "); print(arr); } }
Ausgabe:
Wie im obigen Rewrite-Programm ist die Methode sort() nützlich, um jedes Element eines 2D-Arrays zu iterieren und das Array spaltenweise zu sortieren. Schließlich zeigt die Druckmethode alle Elemente des 2D-Arrays an. In der Hauptfunktion wird das 2D-Array nach und vor dem Aufruf der Funktion sort() erstellt und gedruckt, wie in der obigen Ausgabe gezeigt.
Um alle Elemente eines 2D-Arrays zeilenweise zu sortieren.
Code:
package jex; import java.util.*; public class demo { // using bubble sort to sort 2D array // sort 2D array same as it is in a 1D array of size n * m public static void sort(int arr[][]) { int i, j,k, temp; int n=arr.length; int m=arr[0].length; for(k=0;k<n;++k){ // applying bubble sort on kth row for(i=0;i<m;++i){ for(j=0;j<m-1-i;++j){ if(arr[k][j]>arr[k][j+1]){ temp = arr[k][j+1]; arr[k][j+1] = arr[k][j]; arr[k][j] = temp; } } } } } public static void print(int arr[][]) { int i, j; int n=arr.length; int m=arr[0].length; for (i = 0; i < n; ++i) { for (j = 0; j < m; ++j) { System.out.print(arr[i][j]+" "); } System.out.println(); } } public static void main(String[] args) { Scanner sc=new Scanner(System.in); int[][] arr={ { 5, 12, 17, 12, 23}, { 1, 2, 4, 6, 8}, {21, 14, 7, 19, 27}, { 3, 18, 9, 15, 25} }; System.out.println("Array Before Sorting is : "); print(arr); sort(arr); System.out.println("Array After Sorting is : "); print(arr); } }
Ausgabe:
Wie im obigen Umschreibeprogramm ist die Methode sort() nützlich, um jedes Element eines 2D-Arrays zu iterieren und das Array zeilenweise zu sortieren. Schließlich zeigt die Druckmethode alle Elemente des 2D-Arrays an. In der Hauptfunktion wird das 2D-Array nach und vor dem Aufruf der Funktion sort() erstellt und gedruckt, wie in der obigen Ausgabe gezeigt.
Sortieren ist eine Technik zum Anordnen von Elementen in einem 2D-Array in einer bestimmten Reihenfolge. In einem 2D-Array hat eine Zelle beispielsweise zwei Indizes: ihre Zeilennummer und ihre Spaltennummer.
Das obige ist der detaillierte Inhalt von2D-Array-Sortierung in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!