Considere o programa Java abaixo.
public class Verificar {
public static int dados(int[] vetor, ínt início, int fim, int chave) {
if (início > fim) {
return -1;
}
int meio = (inicio + fim) / 2;
if (vetor [meio] == chave) {
return meio;
}
if (vetor[ínício] <= vetor[meio]) {
if (chave >= vetor[ínício] && chave < vetor[meio]){
return dados (vetor, início, 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, O, 8, 5);
System.out.println(resultado);
}
}
Ao executar o programa, em condições ideais, será exibido na tela o valor