Maison >Java >javaDidacticiel >Tri de tableaux 2D en Java
L'article suivant fournit un aperçu du tri de tableaux 2D en Java. Un tableau de tableaux peut être un tableau à deux dimensions. Les matrices qui composent le tableau 2D représentent une collection de lignes et de colonnes. Étant donné que les éléments des tableaux 2D sont accessibles de manière aléatoire, nous pouvons accéder aux cellules individuelles d'un tableau 2D en utilisant leurs index, tout comme nous le pouvons avec des tableaux unidimensionnels.
PUBLICITÉ Cours populaire dans cette catégorie MAÎTRISÉE JAVA - Spécialisation | 78 séries de cours | 15 tests simulésDans un tableau 2D, une cellule a deux index, l'un est son numéro de ligne et l'autre est son numéro de colonne. Le tri est une technique permettant de disposer les éléments dans un tableau 2D dans un ordre spécifique. Le tableau 2D peut être présenté par ordre croissant ou décroissant. Voyons comment trier de différentes manières le tableau 2D en Java par ordre croissant et décroissant.
Différents exemples sont les suivants :
Exemple de tri de tableau 2D en Java pour trier tous les éléments d'un tableau 2D.
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); } }
Sortie :
Comme dans le programme ci-dessus, la méthode sort() est utile pour parcourir chaque élément d'un tableau 2D, et lorsque l'élément actuel est supérieur à l'élément suivant, puis échanger les nombres. Enfin, la méthode print affiche tous les éléments du tableau 2D. Dans la fonction principale, le tableau 2D est créé et imprimé après et avant l'appel de la fonction sort(), comme indiqué dans la sortie ci-dessus.
Exemple de tri de tableau 2D en Java pour trier tous les éléments d'un tableau 2D par colonne.
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); } }
Sortie :
Comme dans le programme de réécriture ci-dessus, la méthode sort() est utile pour parcourir chaque élément d'un tableau 2D et trier le tableau par colonne. Enfin, la méthode print affiche tous les éléments du tableau 2D. Dans la fonction principale, le tableau 2D est créé et imprimé après et avant l'appel de la fonction sort(), comme indiqué dans la sortie ci-dessus.
Pour trier tous les éléments d'un tableau 2D par ligne.
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); } }
Sortie :
Comme dans le programme de réécriture ci-dessus, la méthode sort() est utile pour parcourir chaque élément d'un tableau 2D et trier le tableau par ligne. Enfin, la méthode print affiche tous les éléments du tableau 2D. Dans la fonction principale, le tableau 2D est créé et imprimé après et avant l'appel de la fonction sort(), comme indiqué dans la sortie ci-dessus.
Le tri est une technique permettant d'organiser les éléments dans un tableau 2D dans un ordre spécifique. Par exemple, dans un tableau 2D, une cellule possède deux index : son numéro de ligne et son numéro de colonne.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!