Hola a todos , este post es para dudas entonces si hay que moverlo o asi agradeceria que lo hiciesen , bueno empiezo . Estoy en un ciclo de programacion y tengo un examen de programacion este miercoles hasta ahi todo bien pero tengo unas dudas con algun metodo los cuales no entendi muy bien puesto que nuestra profesora no es la mejor explicando , estoy hablando de los metodos de ordenacion y busqueda dicotomica os dejo ahora unas partes de los codigos .
package ejerciciocoches;
import java.util.Scanner;
public class Busqueda {
public static int buscar(String[] modelos) {
Scanner scan = new Scanner(System.in);
int inicio = 0;
int fin = modelos.length - 1;
int mitad;
System.out.println("Introduce el nombre a buscar: ");
String busqueda = scan.nextLine();
while (inicio <= fin) {
mitad = (fin + inicio) >>> 1;
if (busqueda.compareToIgnoreCase(modelos[mitad]) > 0) {
inicio = mitad + 1;
} else if (busqueda.compareToIgnoreCase(modelos[mitad]) < 0) {
fin = mitad - 1;
}else{
return mitad;
}
}
return -1;
}
}
Vale mis cuestiones son como se usa bien la busqueda y por que se le ponen los -1 (el codigo lo hicimos todos juntos en clase ) por ejemplo en la variable fin ponemos modelo... -1 por que para que sirve eso
orden
package ejerciciocoches;
public class Ordenar {
public static void ordenarMayorMenor(float[] sumaFilas, String[] modelos) {
float aux;
String auxS;
for (int i = 0; i < sumaFilas.length - 1; i++) {
for (int j = i + 1; j < sumaFilas.length; j++) {
if (sumaFilas < sumaFilas[j]) {
aux = sumaFilas;
sumaFilas = sumaFilas[j];
sumaFilas[j] = aux;
auxS = modelos;
modelos = modelos[j];
modelos[j] = auxS;
}
}
}
}
public static void ordenarAlf(float[][] pCoches, String[] modelos) {
float[] aux;
String auxS;
for (int i = 0; i < modelos.length - 1; i++) {
for (int j = i + 1; j < modelos.length; j++) {
if (modelos.compareToIgnoreCase(modelos[j]) > 0) {
auxS = modelos;
modelos = modelos[j];
modelos[j] = auxS;
aux = pCoches;
pCoches = pCoches[j];
pCoches[j] = aux;
}
}
}
}
}
y lo otro es en la ordenacion los simbolos <> sirven para ordenar de mayor a menor cual para cual ¿?
Pues en resumen me gustaria una explicacion de la busqueda dicotomica y la duda del orden.
Muchas gracias de antemano