Così non funziona..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++; }
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; }

Rispondi quotando