Ho scritto l'algoritmo della ricerca binaria aiutato da un po tutti i libri internet insomma qualcosa è uscito solo che qualunque numero io voglia cercare (Non essendo presente nella lista), scritta a mano da me, mi dice che è presente come faccio?
Lo posto ciao
codice:
import javax.swing.JOptionPane;
public class RicercaBinariaScritto
{
public static int SearchBinary(int[] v, int x)
{
int inizio=0;
int m=0;
int fine=v.length-1;
while(inizio<=fine)
{
m=(inizio+fine)/2;
if(v[m]>x)
{
fine=m-1;
}
if(v[m]<x)
{
inizio=m+1;
}
return m
}
if(v[m] == x)
{
return inizio;
}
else
return -1;
}
public static void main(String[] args)
{
int x; int [] a = {12, 13, 15, 16, 25, 29, 46, 47, 48, 67, 68, 72, 73, 85, 93};
for (int i = 0; i < a.length; i++)
System.out.print(a[i]+" ");
System.out.println();
x = Integer.parseInt(JOptionPane.showInputDialog("\nInserisci l'elemento da trovare:"));
int posizione=SearchBinary(a, x);
if(posizione==-1)
System.out.println("L'elemento "+x+" non e' presente");
else
System.out.println("L'elemento "+x+" e' presente" );
System.exit(0);
}
}