Heim >Java >javaLernprogramm >2D-Array-Sortierung in Java

2D-Array-Sortierung in Java

WBOY
WBOYOriginal
2024-08-30 15:27:291208Durchsuche

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 Probetests

In 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.

Beispiele für die 2D-Array-Sortierung in Java

Verschiedene Beispiele sind wie folgt:

Beispiel #1

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:

2D-Array-Sortierung in Java

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 #2

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:

2D-Array-Sortierung in Java

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.

Beispiel #3

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:

2D-Array-Sortierung in Java

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.

Fazit

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!

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
Vorheriger Artikel:3D-Arrays in JavaNächster Artikel:3D-Arrays in Java