- Fundamentos de ProgramaçãoAlgoritmosAlgoritmos de Busca
- Fundamentos de ProgramaçãoAlgoritmosAnálise de Execução de Algoritmos
- Fundamentos de ProgramaçãoRecursividade
- LinguagensJava
Considere a classe Java a seguir:
public class Prova {
public static void main(String[] args) {
int indice, tam, indice1, min, aux;
int v[] = {7, 12, 33, 88, 400, 1000, 1010, 2000, 2050, 9000};
int x = busca(1001, 10, v);
System.out.print (x);
}
public static int busca(int x, int n, int v[]) {
return auxiliaBusca(x, 0, n - 1, v);
}
public static int auxiliaBusca(int x, int e, int d, int v[]) {
if (e > d) {
return -1;
} else {
int m = (e + d) / 2;
if (v[m] == x) {
return m;
}
if (v[m] < x) {
return auxiliaBusca(x, m + 1, d, v);
} else {
return auxiliaBusca(x, e, m - 1, v);
}
}
}
}
Ao executar essa classe