Nos dan una array 2D de orden NXM y un número de columna K ( 1<=K<=m). Nuestra tarea es ordenar la array 2D de acuerdo con los valores en la Columna K.
Ejemplos:
Input : If our 2D array is given as (Order 4X4) 39 27 11 42 10 93 91 90 54 78 56 89 24 64 20 65 Sorting it by values in column 3 Output : 39 27 11 42 24 64 20 65 54 78 56 89 10 93 91 90
La idea es usar Arrays.sort en Java .
// Java Code to sort 2D Matrix // according to any Column import java.util.*; class sort2DMatrixbycolumn { // Function to sort by column public static void sortbyColumn(int arr[][], int col) { // Using built-in sort function Arrays.sort Arrays.sort(arr, new Comparator<int[]>() { @Override // Compare values according to columns public int compare(final int[] entry1, final int[] entry2) { // To sort in descending order revert // the '>' Operator if (entry1[col] > entry2[col]) return 1; else return -1; } }); // End of function call sort(). } // Driver Code public static void main(String args[]) { int matrix[][] = { { 39, 27, 11, 42 }, { 10, 93, 91, 90 }, { 54, 78, 56, 89 }, { 24, 64, 20, 65 } }; // Sort this matrix by 3rd Column int col = 3; sortbyColumn(matrix, col - 1); // Display the sorted Matrix for (int i = 0; i < matrix.length; i++) { for (int j = 0; j < matrix[i].length; j++) System.out.print(matrix[i][j] + " "); System.out.println(); } } }
Producción:
39 27 11 42 24 64 20 65 54 78 56 89 10 93 91 90
Complejidad de tiempo : O (n Log n) donde n es el número de filas. Aquí se supone que la función sort() usa un algoritmo de clasificación O(n Log n).
Este artículo es una contribución de DANISH KALEEM . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA