-
Notifications
You must be signed in to change notification settings - Fork 0
/
busca.js
38 lines (35 loc) · 830 Bytes
/
busca.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
var valores = [10, 20, 45, 90, 50];
function busca(num) {
for (i=0; i < 6; i++) {
if (num == valores[i]) {
return i;
}
}
return -1;
}
function buscaBin(num) {
let inicio, fim;
let meio;
let passos = 0;
inicio = 0;
fim = 9;
while (inicio <= fim) {
meio = parseInt((inicio + fim) / 2);
passos = passos + 1;
if (num == valores[meio]) {
console.log("achei em" + passos + "passos");
return meio;
} else {
if (num > valores[meio]) {
inicio = meio + 1;
} else {
fim = meio - 1;
}
}
}
console.log("não achei " + passos + "passos");
return -1;
}
console.log(buscaBin(10));
console.log(buscaBin(50));
console.log(buscaBin(200));