Sr´s, bom dia !!
Eu preciso fazer uma pesquisa binária, procurando dentro de um vetor VET alguns números do outro vetor NUM:
[code]
public class PesquisaBinaria {
public void pesquisarNumeros(int [] num, int [] vet){
int inicio = 0;
int meio = 0;
int fim = vet.length - 1;
while(inicio <= fim){
meio = (fim + inicio) / 2;
if(vet[meio] == num){
System.out.println("Número encontrado : " + num);
break;
}
if(vet[meio] < num){
inicio = meio + 1;
}else{
fim = meio - 1;
}
}
if(inicio > fim){
System.out.println("Número não encontrado : " + num);
}
}
}[/code]
porém ele me dá um erro dizendo que "IMCOMPARABLE TYPES INT AND INT[].
E eu estou digitando os números deste vetor NUM, atráves de um Scanner conforme abaixo:
public static void main(String[] args){
Scanner input = new Scanner(System.in);
int n = 0;
int [] vet = {1,3,6,7,8,10,11,12,15,16,17,18,19,20,23,24,25,27,29,30};
System.out.println("Quantidade de números para a pesquisa : ");
n = input.nextInt();
int [] num = new int[n];
System.out.println("Digite a sequência : ");
for(int i = 0; i<n;i++){
num[i] = input.nextInt();
}
PesquisaBinaria pesq = new PesquisaBinaria();
pesq.pesquisarNumeros(num, vet);
Só que não está dando certo, o que eu preciso fazer para que na minha sequencia binária, ele consiga pesquisar os números que estou digitando dentro do vetor acima ?
Obrigado.