codice:
LinkedList<int[]> list = new LinkedList<int[]>();
list.add (new int[] {0, 1, 5, 8, 10, 11});
list.add (new int[] {2, 10, 15, 17, 18, 22, 25, 30});
list.add (new int[] {0, 2, 15});
int[] a = {1, 0, 5};
int[] menu = {0, 1, 2};
int cont = 0;
for (int i = 0; i < list.size(); i++) {
RicercaBinaria.ricercaInArray(a[i], list.get(i));
cont++;
}
Così non funziona..
I metodi sono tutti così più o meno, cambia il tipo di ritorno oppure hanno qualche controllo in più..
codice:
public static int ricercaInArray(int x, int[] a) {
int inf = 0;
int sup = a.length - 1;
if(sup == 1 || x < a[0] || x > a[sup])
return -1;
while(inf <= sup) {
int i = (inf + sup) / 2;
if(x < a[i])
sup = i - 1;
if (x > a[i])
inf = i + 1;
else {
return i;
}
return -1;
}