Algorítmo para Ordenar una matriz en Java
Posted by sergiopalay en agosto 24, 2012
Les dejo un sencillo ejemplo de como ordenar una matriz en Java … espero que les sirva ..
*
c) ORDENAR LOS ELEMENTOS DE UNA MATRIZ DE FORMA ASCENDENTE*/
package actividad3unidad3;import java.util.Scanner;
import java.util.Random;public class Ejercicio6c {
public static void main(String[] args) {
// TODO code application logic here
int F;
int C;//Solicito las dimensiones de la matriz y la creo
Scanner leer= new Scanner(System.in);
System.out.print(«Ingrese la cantidad de filas «);
F=leer.nextInt();
Scanner leer2= new Scanner(System.in);
System.out.print(«Ingrese la cantidad de columnas «);
C=leer2.nextInt();
int [][] matriz = new int [F] [C];// cargar matriz y mostrar su contenido
for(int i=0; i<F; i++){
for(int j=0; j<C; j++){
Random rnd = new Random ();
matriz [i][j]= rnd.nextInt();
System.out.print(matriz [i][j]+» «);
}
System.out.print( » «+»\n»);
}for( int i=0; i < F; i++){//ordena la matriz de abajo hacia arriba
for( int j=0;j< C; j++){
for(int x=0; x < F; x++){
for(int y=0; y <C; y++){
if(matriz[i][j] < matriz[x][y]){
int t = matriz[i][j];
matriz[i][j] = matriz[x][y];
matriz[x][y] = t;
}
}
}
} }// mostrar como quedó ordenada la matriz
System.out.print( «—————————–«+»\n»);
for(int i=0; i<F; i++){
for(int j=0; j<C; j++){
System.out.print(matriz [i][j]+» «);
}
System.out.print( » «+»\n»);
}
}
}
Ivan said
Eres un genio amigo, muchas gracias
Germán said
me sirvio mucho, gracias.
isra said
excelente amigo como me ayudaste te BENDIGO Y DECLARO MAS SABIDURIA EN TU VIDA
chica4bits said
Bastante interesante tu código, me ha servido de maravilla. Aunque en realidad llegue a este articulo buscando el código para una calculadora de matriz en Java, la verdad me ha servido para usar en otro ejercicio.
armando hyugga said
muy buen codigo felizidades
gustavo said
Gracias papa!!
claudio said
ordenar la matriz A(n,m) ascendente pro filas
alguien me ayuda con este ejercicio por favor
guille said
buen código pero deberías decir ordenar de menor a mayor. lo digo por que puede generar confusion
saul said
interesante
Julius Erving said
He visto ese mismo código mil veces por ahí pero no se porque nadie se da cuenta de que tiene un fallo de concepto y es que compara cada uno de los elementos con todos los elementos incluyendo los que ya comparó con anterioridad de nuevo y desde el principio y eso no debería ser correcto aunque funcione.
Os pongo un ejemplo, matriz de 1000 x 1000 que son 1 millon de celdas, resulta que cuando esté comparando justo en la penultima celdas en la 999.998 (si hemos empezado por la cero), y teniendo en cuenta que todas las demás anteriores ya estarían ordenadas, en vez de compararla exclusivamente con las 999.999, ese código me la va a comprar con las 999.997 anteriores y solo estoy poniendo el ejemplo de que nos encontremos en la penultima celda y asi con todas, es un disparate y si la tabla es mayor nos morimos.
Dayneth SA said
¿Y como se le haría si yo quiero que me ordene con nombres?