///
Considere o programa Java abaixo.
public class Verificar {
public static int dados(int[] vetor, int inicio, int fim, int chave) {
if (inicio > fim) {
return -1;
}
int meio = (inicio + fim) / 2;
if (vetor[meio] == chave) {
return meio;
}
if (vetor[inicio] <= vetor[meio]) {
if (chave >= vetor[inicio] && chave < vetor[meio]) {
return dados(vetor, inicio, meio - 1, chave);
} else {
return dados(vetor, meio + 1, fim, chave);
}
} else {
if (chave > vetor[meio] && chave <= vetor[fim]) {
return dados(vetor, meio + 1, fim, chave);
} else {
return dados(vetor, inicio, meio - 1, chave);
}
}
}
public static void main(String[] args) {
int[] vetor = {7, 8, 9, 1, 2, 3, 4, 5, 6};
int resultado = dados(vetor, 0, 8, 5);
System.out.println(resultado);
}
}Ao executar o programa, em condições ideais, será exibido na tela o valor