Está en la página 1de 2

/*

* To change this license header, choose License Headers in Project Properties.


* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package busquedabianria;

//import java.util.Scanner;
import javax.swing.JOptionPane;

/**
*
* @author Creativo 1
*/
public final class Binaria {

int a[]={-9, -6, -3, -1, 0, 12, 24, 31, 45, 52, 68, 79, 80, 99};
int numero, elemento, inicial, medio, ultimo, contador;
// Scanner sc;

/*
numero = numero que buscaquemos
elemento= indice donde se encuentra el numero buscado si es que se encuentra en
el arreglo
inicial = indice inferior del arreglo
medio= indice central del elemento
ultimo= maximo elemento del arreglo
contador= cantidad de veces de comparacion de los valores del arreglo
sc= capturar pantalla
*/

//Constructor
public Binaria() {
// sc=new Scanner(System.in);
buscar(); //nombre del metodo
}

public void buscar(){


// System.out.println("Digite el numero a buscar: ");

numero = Integer.parseInt(JOptionPane.showInputDialog("Digite el numero a


buscar: "));

// numero = sc.nextInt();
elemento=busqueda(numero);

if(elemento>-1){
JOptionPane.showMessageDialog(null, "El elemento esta en el indice : "
+ elemento +" \n"+
"La posicion del elemento es : "
+ (elemento+1) +" \n");

// System.out.println("El elemento esta en el indice: "+elemento);


// System.out.println("La posicion del elemento es: "+(elemento+1));
}else{
// System.out.println("No se encontro elemento");
JOptionPane.showMessageDialog(null, "No se encontr el elemento");
}
// System.out.println("Comparaciones: "+contador);
JOptionPane.showMessageDialog(null, "Comparaciones: " + contador +" \n");
}

public int busqueda(int x){


inicial=0;
ultimo = a.length-1;
if(x<a[inicial] || x>a[ultimo]){
return -1;
}
while(inicial<=ultimo){
contador++;
medio=(inicial+ultimo)/2;
if(x==a[medio]){
return medio;

}else if (x<a[medio]){
ultimo=medio-1;
}else{
inicial=medio+1;
}
}
return -1;
}

public static void main(String... args) {


new Binaria();
}

También podría gustarte