Como generaliar el metodo de ordenamiento?
Publicado por yael (5 intervenciones) el 04/03/2009 03:23:41
U saludo a todos
Necesito ayuda para realizar un metodos de ordenamiento por el metodo de la burbuja para que ordene cualquier tipo de elementos.
Pongo las intrucciones que me dieron para que me entiendan mejor y ojala me puedan ayudar
El siguiente método ordena una lista de números decimales por el método de la burbuja:
(1) static void ordenar (double lista[]) {
(2) for (int i = 0; i < lista.length; i++)
(3) for (int j = lista.length-1; j > i; j--)
(4) if (lista[j] < lista[j-1]) intercambiar (lista, j, j-1); (4)
}
Instruccion: Generaliza la función ordenar para que ordene elementos de cualquier tipo sobre los que tenga sentido definir una relación de orden. Para ello, introducir una mínima modificación en las líneas 1 y 4, y definir las clases y/o interfaces adicionales que sean necesarias.
Lo que eh intentado hacer es definir el parametro de la funcion como "object lista[]"
pero no encuentro la forma de hacer la comparacion en la sentencia "if(....)"
eh probado con los metodos predefinidos "compareTo" y "compare" pero no logro hacer que compile.
La verdad no estoy muy familarizado con estos metodos y no se si este bien en emprealos aqui o si deberia de usar otra forma para hacer la comparacion entre objetos, asi que les pido que si esta bien o k lo mas correcto es usar estos metodos me puedan explicar como emplearlos.
De antemano les doy las gracias por la ayuda
Necesito ayuda para realizar un metodos de ordenamiento por el metodo de la burbuja para que ordene cualquier tipo de elementos.
Pongo las intrucciones que me dieron para que me entiendan mejor y ojala me puedan ayudar
El siguiente método ordena una lista de números decimales por el método de la burbuja:
(1) static void ordenar (double lista[]) {
(2) for (int i = 0; i < lista.length; i++)
(3) for (int j = lista.length-1; j > i; j--)
(4) if (lista[j] < lista[j-1]) intercambiar (lista, j, j-1); (4)
}
Instruccion: Generaliza la función ordenar para que ordene elementos de cualquier tipo sobre los que tenga sentido definir una relación de orden. Para ello, introducir una mínima modificación en las líneas 1 y 4, y definir las clases y/o interfaces adicionales que sean necesarias.
Lo que eh intentado hacer es definir el parametro de la funcion como "object lista[]"
pero no encuentro la forma de hacer la comparacion en la sentencia "if(....)"
eh probado con los metodos predefinidos "compareTo" y "compare" pero no logro hacer que compile.
La verdad no estoy muy familarizado con estos metodos y no se si este bien en emprealos aqui o si deberia de usar otra forma para hacer la comparacion entre objetos, asi que les pido que si esta bien o k lo mas correcto es usar estos metodos me puedan explicar como emplearlos.
De antemano les doy las gracias por la ayuda
Valora esta pregunta


0