11/04/2011, 12:18
|
| | Fecha de Ingreso: noviembre-2010
Mensajes: 19
Antigüedad: 14 años, 1 mes Puntos: 0 | |
Respuesta: como buscar los dos numeros mas grandes de un array? Hola, yo tengo este código, que busca el máximo de un Array de forma recursiva.
Código:
public class Main {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
int vector[] = {2, 1, 3, 9, 5, 6, 4, 8, 7};//Vector de numeros
int max = 0;//Variable que contendrá el número
max = mayorVector(vector);//Función Recursiva
if (vector[vector.length - 1] > max) { //Ultima Comprobación
max = vector[vector.length - 1];
}
System.out.println("Del Vector:");
for (int i = 0; i < vector.length; i++) {
System.out.print(vector[i] + " ");
}
System.out.println("");
System.out.println("El mayor es " + max);
}
public static int mayorVector(int vector[]) {
int vector2[] = new int[vector.length - 1]; //Vector al que le voy quitando la última posición
int max = 0; //Variable que recibirá de la función el máximo momentaneo
for (int i = 0; i < vector2.length; i++) { //Igualo los vectores
vector2[i] = vector[i];
}
if (vector.length == 1) { //Para de hacer recursión cuando solo quede una posición en el vector que se le pasa a la función
max = vector[0];
} else {
max = mayorVector(vector2);
if (max < vector[vector.length - 1]) { //Si el max que se tiene es menor que el ultimo elemento del array se le asigna el valor
max = vector[vector.length - 1];
}
}
return max;
}
}
Un saludo! |