Buscar

Algoritmo de Busca Binária

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

//Buscar um número x, em um array v ORDENADO, com n elementos:
int buscaBinaria( int x, int n, int v[]) {
	
	int e, m, d;
	e = 0; d = n-1;
	while (e <= d) { 
		m = (e + d)/2; 
		if (v[m] == x)
			return m; //Se achou o número, retorna a posição do mesmo
		if (v[m] < x)
			e = m + 1;
		else 
			d = m - 1;
	}
	
	return -1;
}
/*Quando se quer simplesmente saber se o elemento está em um array v ordenado,
basta usar uma função chamada binary_search, que pertence à biblioteca 'algorithm', segue um exemplo:*/
#include <algorithm> //inclui a biblioteca algorithm
if (binary_search(v, v+n, numero) //v->inicio do array, v+n->final do array v com n elementos, numero->numero que vou procurar;
	cout << "O numero esta no array.\n"; //binary_search é uma função booleana, ela retorna true se o numero foi encontrado;
else
	cout << "O numero nao esta no array.\n";

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Continue navegando